DBCP 1.4 API 의 사용방법
1. DBCP 관련 Jar 파일 및 JDBC 드라이버 Jar 파일 설치하기
1)Downloads
- DBCP API ==> http://commons.apache.org/dbcp/downloads.html
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 |