连接池(DBCP)配置总结:
首先,要把你选用的数据库的JDBC驱动从网上下载下来(我选用的数据库是sqlserver2000 sq3)然后把下载下来的jar包放在%TOMCAT_HOME%/common/lib(这里是全局的jar,既该目录下的jar文件可以被tomcat服务器和所有web应用访问).
其次,要配置%TOMCAT_HOME%/conf/server.xml文件.注意:tomcat5.0.x与tomcat5.5.x的配置有较大区别在</context></host>之间加入下列代码:(这是我应用,引号中的内容应该改成与你机器的目录相一致的路径或名称)
<Context path="/testDBCP" docBase="D:\Tomcat 5.5\webapps\testDBCP" debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/TestDB"
auth="Container"
type="javax.sql.DataSource"
maxActive="20"
maxIdle="30"
maxWait="10000"
username="sa"
password="sa"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testDBCP"/>
</Context>
解释一下:1.path是指定访问该web应用的URL入口;
2.docBase指定web应用的文件路径,可以是绝对路径,也可以是相对于Host的appBase属性的相对路径;
3.type
4.maxActive是DBCP中处于活动状态的数据库连接的最大数目,取0表示不受限制
5.maxIdle是DBCP中处于空闲状态的数据库连接的最大数目,取0表示不受限制
6.maxWait是是DBCP中的数据库连接处于空闲状态的最长时间(以毫秒为单位)取0表示无限期等待
7.username是数据库登陆名
8.password是数据库登陆口令
9.driverClassName是只定数据库的jdbc驱动程序
10.url是指定连接数据库的URL,testDBCP是我的数据库名。
然后,要配置%TOMCAT_HOME%/webapps/你自己的web应用/WEB-INF/web.xml来引用上面配的连接池.代码如下:
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<description>SQLserver Test App</description>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/TestDB</res-ref-name>注释:这部分内容应与server.xml中Resource name的值相一致
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
JSP测试文件
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page contentType="text/html;charset=GB2312"%>
<html>
<head>
<title>
tomcat 连接池
</title>
</head>
<body bgcolor="#ffffff">
<h3>
test
<br>
连接池:
</h3>
<%try {
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/TestDB");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from test");
while (rs.next()) {%>
<br>
<%=rs.getString(1)%>
<%}%>
<%out.print("<br>Successful!成功!!\n");%>
<%rs.close();
stmt.close();
conn.close();
} catch (Exception e) {
out.print("出现例外!" + e.getMessage());
e.printStackTrace();
}
%>
</body>
</html>
启动tomcat后 点击http://localhost:8080/testDBCP/index.jsp应该可以看到成功页面.