關於Tomcat5.0的數據庫連接池的配置
<Context path="/book" docBase="E:/webapp" debug="0" reloadable="true" crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_DBTest_log." suffix=".txt" timestamp="true"/>
<!--My SQL-->
<Resource name="jdbc/mysqlDB" auth="Container" type="javax.sql.DataSource"/>-
<!--mysqlDB是自己起的名字,對應到web.xml中也要用這個名字-->
<ResourceParams name="jdbc/mysqlDB">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<!--<value>org.gjt.mm.mysql.Driver</value> 當時用這個驅動連接失敗,所以改用下面的驅動了-->
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost/book</value>
</parameter>
<parameter>
<name>username</name>
<value>root</value>
</parameter>
<parameter>
<name>password</name>
<value>root</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
</ResourceParams>
</Context>
關於Tomcat5.5的數據庫連接池的配置如下:
<Context path="/book" docBase="E:/webapp" debug="0" reloadable="true" crossContext="true">
<Resource
name="jdbc/mysqlDB"
auth="Container"
type="java.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="root"
password="root"
<!--driverClassName="org.gjt.mm.mysql.Driver"-->
driverClassName="com.mysql.jdbc.Driver" <!-用上面那個驅動拋異常,用下面這個則可以正確執行->
url="jdbc:mysql://localhost/book"/>
</Context>
關於web應用的web.xml修改如下(兩個版本都一樣的修改):
<resource-ref>
<description>My SQL Datasource example</description>
<res-ref-name>jdbc/mysqlDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
連接的例子:testDB.jsp
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<%@page import="javax.sql.DataSource"%>
<%@page import="javax.naming.*"%>
<html>
<body>
<%
try{
Context initCtx=new InitialContext();
DataSource db = (DataSource)initCtx.lookup("java:comp/env/jdbc/mysqlDB");
Connection conn = db.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM user");
out.println("User-list"+"<br>");
while(rs.next()){
out.print(rs.getString(1)+" ");
out.print(rs.getString(2)+"<br>");
}
rs.close();
stmt.close();
conn.close();
}catch(Exception e){
out.print(e);
}
%>
</body>
</html>