풀이라고 뭔가가 담겨져 있는 것을 의미하는데 하면 커넥션 풀은 데이터베이스와 연결하는 것들이 담겨있는 곳이라고 생각할수 있습니다.
브라우저가 웹서버로 요청을하면 웹서버는 필요에 따라서 데이터베이스에 Access하여 데이터를 가공하여 응답하게됩니다.
하지만 이러한 방식은 단점이 존재합니다.
웹서버는 데이터베이스가 필요할때마다 데이터베이스에 매우 많은 접속을 하게 됩니다.
그러면 DB를 연결하고 핸들리하고 Close하는 과정에서 자원을 너무 많이 사용하게 되고 효율적으로 사용할수 없겠죠.
이러한 단점을 보완하기 위해 Connection객체를 미리 만들어놓고 웹서버가 데이터베이스에 접근을 할때 만들어 놓은 객체를 사용하는 것이죠.
커넥션풀은 그럼 어디에 만들어 놓을까요??
톰켓 컨테이너에 만들어놓고 필요할때마다 사용합니다.
톰켓에 커넥션풀을 설정을 해야하는데
톰켓 안에 context.xml이라는 파일 안에 설정을 하게 됩니다.
<Resource
auth="Container"
driverClassName="oracle.jdbc.drinver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:xe"
username="cine"
password="cine"
name="jdbc/Oracle11g"
type="javax.sql.DataSource"
maxActive="4"
maxWait="10000" />
이렇게 설정을 해두면 실제 자바코드에서는 어떻게 구현을 할까요??
앞서 driver와 url id등을 설정해둔 것이 모두 컨테이너에 설정해두었기 때문에 사용할 필요가 없습니다.
드라이버를 로드하는 코드도 필요가 없고 컨테이너에서 컨텍스트를 가져와서 사용하면 됩니다.
이렇게 가져온 컨텍스트는 데이터 타입을 DataSource라는 곳에다가 할당을 해서 사용하게 됩니다.
이 글은 실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌를 수강하며 공부한 내용을 정리한 글입니다.
https://www.inflearn.com/course/실전-jsp_renew/dashboard
'Java 관련 > JSP & Servlet' 카테고리의 다른 글
[JSP & Servlet] DAO와 DTO (0) | 2022.08.24 |
---|---|
[JSP & Servlet] JDBC (0) | 2022.08.23 |
[JSP & Servlet] filter를 통한 한글처리 (0) | 2022.08.22 |
[JSP & Servlet] JSP Servlet의 한글처리 (0) | 2022.08.21 |
[JSP & Servlet] Session (1) | 2022.08.20 |