=======學(xué)習(xí)Tomcat5.0連接池總結(jié)========
Tomcat5.0連接池測試
1、通過圖形界面在Tomcat5.0里建立DataSource,如果用的專用驅(qū)動(dòng)將驅(qū)動(dòng)包放到tomcat/common/lib下。
2、建立完后server.xml在 <GlobalNamingResources>標(biāo)簽下會(huì)增加以下內(nèi)容
<Resource name="jdbc/Sqlserver" type="javax.sql.DataSource" auth="Container"/>
<ResourceParams name="jdbc/Sqlserver">
<parameter> <!--factory該參數(shù)需要自己添加-->
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>validationQuery</name>
<value>select * from bookinfor</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>password</name>
<value>dada</value>
</parameter>
<parameter>
<name>url</name>
<value>Jdbc:Odbc:tushu</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>sun.jdbc.odbc.JdbcOdbcDriver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
</ResourceParams>
3、由于WAR部署在webapps下,則要在server.xml的<host>標(biāo)簽下定義相關(guān)內(nèi)容
手動(dòng)添加<Context>標(biāo)簽內(nèi)容,其中Context標(biāo)簽內(nèi)定義了WAR文件的部署情況,即該源只針對該應(yīng)用,其下再次定義數(shù)據(jù)源,COPY上面系統(tǒng)生成的數(shù)據(jù)源參數(shù)文件內(nèi)容。同時(shí)可以刪除以上由系統(tǒng)生成的數(shù)據(jù)源定義,不刪也可以!即只在<host></host>中定義既可!
<host>
<Context>
<!--數(shù)據(jù)源-->
</Context>
</host>
例子如下:
<Host appBase="webapps" name="localhost">
<Context path="/WebData" docBase="D:/Program Files/Tomcat5/webapps/WebData" debug="1" reloadable="true">
<Resource name="jdbc/Sqlserver" type="javax.sql.DataSource" auth="Container"/>
<ResourceParams name="jdbc/Sqlserver">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>validationQuery</name>
<value>select * from bookinfor</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>password</name>
<value>dada</value>
</parameter>
<parameter>
<name>url</name>
<value>Jdbc:Odbc:tushu</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>sun.jdbc.odbc.JdbcOdbcDriver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
</ResourceParams>
</Context>
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_log." suffix=".txt" timestamp="true"/>
</Host>
4、至此數(shù)據(jù)源Tomcat數(shù)據(jù)源配置完成!
下面將對數(shù)據(jù)源開始使用
首先配置應(yīng)用服務(wù)webMoudle的web.xml文件,即添加數(shù)據(jù)源的應(yīng)用定義
<resource-ref>
<res-ref-name>jdbc/Sqlserver</res-ref-name> <!--Tomcat中定義的JNDI的名稱-->
<res-type>javax.sql.DataSource</res-type> <!--數(shù)據(jù)源類-->
<res-auth>Container</res-auth> <!--容器中-->
</resource-ref>
5、測試代碼:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<html>
<body>
<%
Context ctx = new InitialContext();
Connection conn=null;
ctx = new InitialContext();
DataSource ds =(DataSource)ctx.lookup("java:comp/env/jdbc/Sqlserver");//查找JNDI數(shù)據(jù)源名
conn = ds.getConnection();
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from bookinfor";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {
out.print(rs.getString(1));
out.print(rs.getString(2));
out.print(rs.getString(3));
}
out.print("數(shù)據(jù)庫操作成功,恭喜你");
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
posted on 2005-09-11 10:13
Derek.Guo 閱讀(2057)
評論(0) 編輯 收藏 所屬分類:
Java