커넥션풀이란?
데이터베이스와 연결된 커넥션을 미리 만들어서 풀(pool) 속에 저장해 두고 있다가 필요할 때 커넥션을 풀에서 쓰고 다시 풀에 반환하는 기법을 말한다.
웹 프로그램에서는 데이터베이스의 환경설정과 연결 관리 등을 따로 XML파일이나 속성 파일을 사용해서 관리하고, 이렇게 설정된 정보를 이름을 사용하여 획득하는 방법을 사용한다.
- 웹 컨테이너가 실행되면서 커넥션(connection) 객체를 미리 풀(pool)에 생성해 둔다.
- DB와 연결된 커넥션(connection)을 미리 생성해서 풀(pool) 속에 저장해 두고 있다가 필요할 때에 가져다 쓰고 반환한다.
- 미리 생성해두기 때문에 데이터베이스에 부하를 줄이고 유동적으로 연결을 관리 할 수 있다.
출처: https://devbox.tistory.com/entry/JSP-커넥션-풀-1 [장인개발자를 꿈꾸는 :: 기록하는 공간]
클라이언트에서 다수의 요청이 발생할 경우 데이터베이스에 부하가 발생하게 된다.
이러한 문제를 해결 하기 위해서 커넥션 풀(DataBase Connection Pool)기법을 이용 한다.
IntelliJ 에서 커넥션풀을 연결해볼려고 한다.
tomcat-dbcp.jar 파일은 우리가 받은 tomcat 폴더안의 lib에 있다. (원래는 3개로 나뉘어져 있었다고 하는데 tomcat6.0 이상 부터 저렇게 하나로 통합 됬다고 한다.)
이 jar파일을 앞에도 했듯이 WEB-INF 폴더 안의 lib 폴더에 넣어주자.
이클립스에서는 [Servers] - [Tomcat v6.0 Server at localhost-config] 에 있는 context.xml 파일을 연다.
IntelliJ에서는
1. Project Structure -> Module -> Web -> Add Application Server specific descriptor... -> [클릭] -> Tomcat Server -> [선택]
2. context.xml 이 생성됩니다.
3. <Resource />로 JNDI를 설정하시면 각 개인별 설정이 가능합니다.
물론 META-INF/context.xml 파일은 git, svn에서 제외 시키셔야 각 개인별 사용이 가능합니다.
출처: okky
Ctrl + Alt + Shift + S 를 누른 후, 왼쪽 텝에서 Module을 클릭 후 오른쪽에 Web폴더를 선택하여 주고, 화면 중앙에 Add Application Server specific descriptor... 를 선택하면 뜨는 창에서 첫번째 선택창에 Tomcat Server를 선택하여주면 생성 된다.
Context.xml 은 이렇게 수정하여준다.
이 후 JNDI 를 설정하여 준다.
WEB-INF 의 web.xml에 아래와 같이 <resouce-ref> 태그를 넣어준다.
이 후 java나 jsp에서 커넥션풀과 JNDI를 통하여 DB와 연결된 것을 확인 할 수 있다. 반드시 DB 이름은 web.xml의 <res-ref-name>과 같아야 한다.
test.jsp
이렇게 커넥션 풀을 이용하여 DB의 내용을 읽어오는 DAO 클래스의 함수이다. PreparedStatement를 이용하여 읽어온다.
'Java > JSP' 카테고리의 다른 글
Oracle JDBC 연결 (0) | 2019.09.12 |
---|---|
DB별 JDBC 드라이버 명 및 URL 형식 (0) | 2019.09.12 |
DAO , DTO(VO) 작성 (0) | 2019.09.12 |
IntelliJ-JDBC-MariaDB연결하기(JDBC) (0) | 2019.09.12 |
JSP 에러페이지, HTTP 에러코드 정리 (0) | 2019.09.12 |