2017. 4. 24. 19:02ㆍJSP
1. DBCP( DataBase Connection Pool )
- DataBase 와 Connection 을 맺고 있는 객체를 관리하기 위한 커넥션 풀
- JDBC의 단점을 극복(보안) 하기위해 사용
- 웹 컨테이너가 실행되면서 커넥션(Connection) 객체를 미리 풀(Pool)에 만들어 놓는다.
- DB와 연결된 커넥션(Connection)을 미리 생성해서 풀(Pool)속에 저장해두고 있따가 필요할 때마다 가져다 쓰고 반납!
- 미리 생성해놓기 때문에 DB나 서버에 부하를 줄이고 유동적으로 연결을 관리 할 수 있다.
2. dbcp 연동하기
#1. tomcat.apache.org 접속
#2. Document 8.0버전 -> 9) JDBC datasource -> Oracle 8i, 9i & 10g 내용의 1,2,3 번소스 복사
#3. 리소스 태그 복사 / resource-ref 태그복사 / 자바 소스 복사 해야함
#4. 리소스태그 복사해서 server.xml 의 context 항목에 붙여넣는다
tomcat.apache.org 접속 화면
server.xml 의 context항목에 붙여넣는다
소스에서
@url="jdbc:oracle:thin:@localhost:1521:xe" , username 과 password 변경한다
#5. 사용자 계정 scott1800 / tiger 만들기
cmd접속 후
sqlplus sys/1234 as sysdba (Enter)
sql> create user scott1800 identified by tiger;
sql> grant connect, resource, create view to scott1800;
sql> conn scott1800 / tiger
sql> commit ;
=> 계정명 : scott1800 비밀번호 : tiger
#6. DB생성하기
오른쪽 마우스 - new
Oracle버전은 11g
User name , password을 scott1800 , tiger 로 변경
URL 과 DatabaseName 을 변경해준 뒤 생성한다
#7. 오라클 서버 생성된 모습
=> DAO 에 dbcp연동 메서드를 생성 후 연결이 필요할 때마다 메서드를 호출해서 사용할 수 있다.
================ < DAO 소스 > ==================================
package com.koreait.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
public class MemberDAO {
public MemberDAO(){};
//dbcp 만들어 놓자
public Connection getConnection(){
Connection conn = null;
try{
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");
conn = ds.getConnection();
}catch(Exception e){
e.printStackTrace();
}
return conn;
}
}
public으로 선언해놓아서 어디서든 해당 메서드를 불러서 DB와 연결할 수 있다 !!
'JSP' 카테고리의 다른 글
JSP MVC1 모델 로그인 및 회원가입 ① 로그인페이지 (0) | 2017.04.28 |
---|---|
JSP MVC1 모델 구성 (0) | 2017.04.28 |
JSP 파일업로드 (0) | 2017.04.21 |
jstl ( Jsp Standard Tag Library ) (0) | 2017.04.21 |
JSP EL (0) | 2017.04.20 |