커넥션풀은 데이터베이스와 연결된 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' 카테고리의 다른 글
커스텀태그 Key-Point (0) | 2010.06.04 |
---|---|
커스텀 태그 (0) | 2010.06.04 |
jsp + 서블릿을 이용한 DB설정 방법. (0) | 2010.06.04 |
jsp 환경설정~^^ (0) | 2010.05.30 |