連接池配置需要在應用部署文件的<Context>節點內添加<Resource>描述。
對于Tomcat5和Tomcat6,官方建議不要將<Context>的配置直接寫在server.xml中,使用單獨的xml文件部署應用的方法請參見:http://www.aygfsteel.com/fastunit/archive/2008/05/22/202112.html
本文的測試環境:
應用程序根路徑:D:/fastunit
數據庫:oracle9i
一、拷貝數據庫驅動jar文件放到Tomcat下
1、Tomcat4/Tomcat5:放到/common/lib/下
2、Tomcat6:放到/lib/下
對于oralce9i,需要拷貝的jar文件位于/oralce安裝路徑/ora92/jdbc/lib/classes12.jar
二、Tomcat連接池配置
設置參數時,driverClassName、url、username、password的值根據實際情況設定。
本例將jndi名稱設為“dstest”。
1、Tomcat4
<Resource name="dstest" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="dstest">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<parameter>
<name>username</name>
<value>app</value>
</parameter>
<parameter>
<name>password</name>
<value>app</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@127.0.0.1:1521:orcl</value>
</parameter>
</ResourceParams>
</Context>
2、Tomcat5/Tomcat6






三、連接池測試
下面的jsp文件中ctx.lookup("java:comp/env/dstest"),“dstest”對應為<Resource>節點的“name”屬性值。
<%
Connection conn = null;
try{
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/dstest");
conn = ds.getConnection();
out.print("connection pool connected !");
}catch (Exception e) {
out.print(e.getMessage());
e.printStackTrace();
}finally {
if(conn!=null) conn.close();
}
%>
四、<Resource>節點參數說明
1、name:數據源名稱
2、driverClassName:JDBC驅動的類路徑
3、url:數據庫連接URL
4、username/password:數據庫的用戶名和密碼
5、其他參數,請參考相應版本的官方說明:
http://tomcat.apache.org/tomcat-4.1-doc/jndi-datasource-examples-howto.html
http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html
http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html