配置环境:Tomcat5.5.20、MySQL5.0.22 、mysql-connector-java-5.0.0-beta 、commons-dbcp-1.2.1、 JDK1.5以上的“东东”在网上都能够下到的。
然后在D:/Tomcat5.5/webapps/新建目录whl2文件夹(我是用myeclispse自动建了一工作目录),在META-INF下创建 context.xml(为什么要创建这个文件我也不太清楚,哪位高手知道还请多指教.
接下来就要把JDBC驱动程序mysql-connector-java-5.0.0-beta和commons-dbcp-1.2.1解压,分别 将解压后的.jar文件分别复制到D:/Tomcat5.5/common/lib下,以上工作做完就可以进行连接池的配置了。
1、配置D:/Tomcat 5.5/conf/server.xml在server.xml中的<GlobalNamingResources></GlobalNamingResources>中添加如下配置信息:
<Resource name="Test"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
password="mysql"
maxIdle="2"
maxWait="5000"
username="root"
url="jdbc:mysql://localhost:3306/test"
maxActive="4"/>
注:name是连接池的名字可任取,type,是数据源的类型(不变),driverClassName是驱动程序的类名好像得这么写(不变),url是数据库的路径math为数据库名(肥test改为自己的数据库名)。
2、配置D:/Tomcat 5.5/webapps/DBtest/WEB-INF/web.xml在<web-app></web-app>中加入如入信息
<resource-ref>
<description>DB Connection</description>
<res-ref-name>Test</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
注:其中的res-ref-name必须和前面的连接池名相同。
3、配置D:/Tomcat 5.5/webapps/DBtest/META-INF/context.xml全部内容如下
<Context path="/whl2" docBase="whl2"
debug="5"
reloadable="true"
crossContext="true">
<ResourceLink name="Test" global="Test" type="javax.sql.DataSourcer"/>
</Context>
注:path是工作区的路径,ResourceLink name和global好像都得和前面的连接池的名字相同,这里的global有什么用我也不太清楚.
下面是测试代码:
<%@page contentType="text/html; charset=GBK"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.naming.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Test of connection pool</title>
</head>
<body>
<%
out.print("Start<br/>");
try{
InitialContext ctx = new InitialContext();
javax.sql.DataSource connectionPool = (javax.sql.DataSource) ctx.lookup("java:comp/env/Test");
Connection conn = connectionPool.getConnection();
out.print("DB connection pool run OK!");
conn.close();
}
catch(Exception ex){
out.print(ex.getMessage());
ex.printStackTrace();
}
%>
</body>
</html>