커넥션풀은 데이터베이스와 연결된 connection 객체를 미리 생성하여 풀(Pool)속에 저장 해두고 필요할 때마다 이 풀에 접근하여 connection 객체를 사용하고, 모두 사용하였다면 다시 반환하는 것을 말한다.

커넥션풀의 장점
커넥션풀을 사용하면 풀속에 미리 커넥션이 생성되어 있기 때문에 커넥션을 생성하는데 드는 연결 시간이 소비되지 않는다. 또 커넥션 재사용이 가능하기 때문에 사용자가 접속할 때마다 계속해서 커넥션을 생성할 필요가 없다. 즉, 커넥션 풀을 사용한다면 프로그램 효율과 성능이 전체적으로 증가하게 된다.

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page import="java.sql.*, javax.sql.*, javax.naming.*" %>

<%
 Connection con = null;
 PreparedStatement pstmt = null;
 ResultSet rs = null;
 
 try
 {
  Context initCtx = new InitialContext();
  Context envCtx = (Context) initCtx.lookup("java:comp/env");
  DataSource ds = (DataSource)envCtx.lookup("jdbc/test");
  con = ds.getConnection();
  
 }
 catch(Exception e)
 {
  e.printStackTrace();
 }
 finally
 {
  if(rs != null)try{rs.close();}catch(SQLException sqle){}
  if(pstmt != null)try{pstmt.close();}catch(SQLException sqle){}
  if(con != null)try{con.close();}catch(SQLException sqle){}  
 }
 %>





이것은 커넥션 풀이 사용되는 구조이다. 사용자가 웹 사이트에 접속하면 서버는 커넥션 풀에서 커넥션 객체를 얻어와서 데이터베이스에 접속하여 데이터베이스 작업을 수행한다. 수행을 완료하였다면 커넥션 객체를 다시 커넥션 풀로 반환하는 작업을 한다. 커넥션 풀은 이 같은 구조로 이루어져있기 때문에, 웹 사이트 접속시 매번 커넥션 객체를 만들어 사용하는 것보다 효율적이다.

참고서적 : 기초에서 활용까지 JSP 2.1 [혜지원]

'웹 프로그래밍 > JSP' 카테고리의 다른 글

커스텀태그 Key-Point  (0) 2010.06.04
커스텀 태그  (0) 2010.06.04
jsp + 서블릿을 이용한 DB설정 방법.  (0) 2010.06.04
jsp 환경설정~^^  (0) 2010.05.30

+ Recent posts