DBCP 1.4 API 의 사용방법

1. DBCP 관련 Jar 파일 및 JDBC 드라이버 Jar 파일 설치하기
   1)Downloads
   2)Downloads Jar files
- DBCP API 관련 Jar 파일 : commons-dbcp-1.4-bin.zip
- DBCP API 가 사용하는 자카르타 Pool API 의 Jar 파일 : commons-pool-1.5.5-bin.zip
   3)위의 파일의 압축을 풀고 각각의 jar 파일을 WEB-INF\lib\ 폴더에 import 한다.
        - commons-dbcp-1.4.jar, commons-pool-1.5.5.jar

   
2. 커넥션 풀 관련 설정 파일 및 초기화하기
   1) 설정파일은 jocl 로 만들어지며 WEB-INF\classes\ 폴더밑에 저장한다.
  
   소스파일) \WEB-INF\classes\pool.jocl
*********************************************************************************************************
<object class="org.apache.commons.dbcp.PoolableConnectionFactory"
   <object class="org.apache.commons.dbcp.DriverManagerConnectionFactory">
      <string value="jdbc:oracle:thin:@localhost:1521:XE" />   <!-- URL -->
      <string value="scott" />                                     <!-- user -->
      <string value="tiger" />                                     <!-- password -->
   </object>
  
   <object class="org.apache.commons.pool.impl.GenericObjectPool">
      <object class="org.apache.commons.pool.PoolableObjectFactory" null="true" />
      <int value="10" />                                          <!--  maxActive -->
      <byte value="1" />                                         <!--  wait mode -->
      <long value="10000" />                                  <!--  wait time 10000 ms -->   
      <int value="10" />                                           <!-- maxIdel -->
      <int value="3" />                                             <!-- minIdel --> 
      <boolean value="true" />                                
      <boolean value="true" />
      <long value="600000" />
      <int value="5" />
      <long value="3600000" />
      <boolean value="true" />
   </object>
  
   <object class="org.apache.commons.pool.impl.GenericKeyedObjectPoolFactory" null="true" />


   <string null="true" />
  
   <boolean value="false" />
  
   <boolean value="true" />
</object>

*********************************************************************************************************

3. 커넥션 풀 관련 드라이버 로딩하기

소스파일) \WEB-INF\src\com\javasoft\db\DBCPInit.java
*********************************************************************************************************
package com.javasoft.db;

import javax.servlet.http.HttpServlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import java.util.StringTokenizer;

public class DBCPInit extends HttpServlet {
    public void init(ServletConfig config) throws ServletException {
        try {
            String drivers = config.getInitParameter("jdbcdriver");
            StringTokenizer st = new StringTokenizer(drivers, ",");
            while (st.hasMoreTokens()) {
                String jdbcDriver = st.nextToken();
                Class.forName(jdbcDriver);
            }            
            Class.forName("org.apache.commons.dbcp.PoolingDriver");            
        } catch(Exception ex) {
            throw new ServletException(ex);
        }
    }
}

*********************************************************************************************************

4. 웹 어플리케이션이 시작될 때 DBCPInit 서블릿 클래스가 시작될 수 있도록 지정하기

소스파일) \WEB-INF\web.xml
*********************************************************************************************************
<?xml version="1.0" encoding="euc-kr"?>
....
....
  <servlet>
     <servlet-name>DBCPInit</servlet-name>
     <servlet-class>com.javasoft.db.DBCPInit</servlet-class>
     <load-on-startup>1</load-on-startup>
     <init-param>
        <param-name>jdbcdriver</param-name>
        <param-value>oracle.jdbc.driver.OracleDriver</param-value>
     </init-param>
  </servlet>
</web-app>
*********************************************************************************************************

5. 커넥션을 가져오는 DBUtil 클래스
  - 커넥션을 구하는 클래스인 별도의 DBConn 클래스를 작성하는것이 개발하는데 편리하다.

소스파일) \WEB-INF\com\javasoft\db\DBConn.java
********************************************************************************************************
package com.javasoft.db;

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;

public class DBConn {
    public static Connection getConnection(String poolName)
    throws SQLException {
        return DriverManager.getConnection(
            "jdbc:apache:commons:dbcp:/"+poolName);
    }
}
*********************************************************************************************************
6. 사용방법
    - 커넥션을 구하는 곳에 다음과 같이 해주면 된다.
try {
   conn = DBConn.getConnection("pool");

'Programming > JSP' 카테고리의 다른 글

JSP EL(Express Language) 표현언어  (0) 2011.03.24
JSP Custom Tag  (1) 2011.03.24
JavaBean  (2) 2011.03.24
JSP Action Tag  (1) 2011.03.24
JSP 의 내장객체  (1) 2011.03.24

+ Recent posts