0. 작성자 개발 환경
- OS : Window 7 (64bit)
- Eclipse : Kepler
- Tomcat : 6
- Oracle : 10g
1. 커넥션풀(DBCP) 사용 이유
- JDBC를 통하여 DB에 연결하기 위해서는 드라이버(Driver)를 로드하고 커넥션(connection) 객체를 받아와야 한다.
- JDBC를 사용하면 사용자가 요청을 할 때마다 매번 드라이버를 로드하고 커넥션 객체를 생성하여 연결하고 종료하기 때문에 매우 비효율적이다.
- 이런 문제를 해결하기 위해서 커넥션풀(DBCP)를 사용한다.
2. 커넥션풀(DBCP)
- 웹 컨테이너가 실행되면서 커넥션(connection) 객체를 미리 풀(pool)에 생성해 둡니다.
- DB와 연결된 커넥션(connection)을 미리 생성해서 풀(pool) 속에 저장해 두고 있다가 필요할 때에 가져다 쓰고 반환한다.
- 미리 생성해두기 때문에 데이터베이스에 부하를 줄이고 유동적으로 연결을 관리 할 수 있다.
3. 톰캣 커넥션풀(DBCP) 문서
- http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html
4. DBCP 라이브러리 추가
- 이전버전 commons-dbcp-1.4jar, commons-pool-1.6.jar, commons-collections-3.2.1-bin.zip 3개의 라이브러리는 톰캣 6.0 부터 tomcat-dbcp.jar 파일로 하나로 통합되었다.
- 톰캣설치폴더 lib 폴더에 있는 tomcat-dbcp.jar 파일을 웹프로젝트\WebContent\WEB-INF\lib 경로에 복사한다.
5. DB 라이브러리 추가(오라클 - ojdbc.jar)
- 오라클 드라이버 다운로드 참조 : 2013/10/01 - [Oracle/Install] - 오라클(Oracle) 정식 드라이버(Driver) 받는 곳 - ojdbc.jar
6. \Servers\Tomcat v6.0 Server at localhost-config\context.xml 파일에 Resource 태그 추가
7. 웹프로젝트\WebContent\WEB-INF\web.xml 파일에 <resource-ref> 태그 추가
- <res-ref-name> 태그의 이름은 contex.xml 파일 <resource>태그의 name 속성의 이름과 같아야한다.
- 7번 작업은 톰캣 6.0 이상부터는 생략 가능하다.
8. JAVA 코드로 연결
- 서블릿에서 작성한다. (MVC 구조로 구현할 경우)
- 예외를 가지고 있으므로 예외처리를 해준다.
import java.sql.Connection; import javax.naming.Context; import javax.naming.InitialContext; import javax.sql.DataSource; public class DBCP { /* * 이 코드를 아래와 같이 줄여서 작성가능하다. Context initContext = new InitialContext(); Context envContext = (Context) initContext.lookup("java:/comp/env"); DataSource dataSource = (DataSource) envContext.lookup("jdbc/oracle"); Connection conn = dataSource.getConnection(); */ Context context = new InitialContext(); DataSource dataSource = (DataSource) context.lookup("java:comp/env/jdbc/oracle"); Connection con = dataSource.getConnection(); }
9. JNDI(Java Naming and Directory Interface)
- 서비스가 다른 서비스를 탐색할 때 유용하게 사용된다. (분산된 자원)
- 분산된 자원 끼리의 탐색을 원할하게 하기 위한 type casting 임. (DNS 도 이에 속함)
- JNDI에 설정해 놓았다는것은 Context.xml에 리소스를 생성해놓은 것을 말한다.
10. servers > context.xml 파일 복사
- 서버가 변경되거나 서버에서 프로젝트를 제거하는 경우에 다시 추가해서 실행하는 번거로움이 있다.
- \Servers\Tomcat v6.0 Server at localhost-config\context.xml 파일을 복사한다.
- 웹프로젝트\WebContent\WEB-INF\ 디렉터리에 붙여넣기 한다.
'Java > Java EE' 카테고리의 다른 글
JSP MVC(Model View Controller) 패턴 - 답변 게시판(Reply Board) (6) | 2013.10.10 |
---|---|
JSP 커스텀 태그(Custom Tag) - 태그파일 (0) | 2013.09.30 |
JSP JSTL(JSP Standard Tag Library) - 국제화 태그(포맷팅) (1) | 2013.09.30 |
JSP JSTL(JSP Standard Tag Library) - 함수 태그(functions) (2) | 2013.09.29 |
JSP JSTL(JSP Standard Tag Library) - 코어 태그(core) (6) | 2013.09.23 |