Tomcat 5.5 配置 MySQL 数据库连接池

来源:互联网 发布:阿里云北京服务器地址 编辑:程序博客网 时间:2024/05/08 22:11
用了最新的几个咚咚,搞了整整一天终于搞清楚了Tomcat 5.5 配置 MySQL 数据库连接池,网上的经验并不能完全用到新环境里面,我写出整个过程以方便大家配置。 

1 环境描述 
  JDK 1.5 
  Tomcat 5.5.4 
  MySQL 4.0.20 
  MySQL JDBC 3.0.15 
  Commons dbcp 1.2.1 

2 准备工作 
  JDK, Tomcat, MySQL安装过程并非我的重点,略过。 
  从http://dev.mysql.com/downloads/下载mysql-connector-java-3.0.15-ga.zip,将其中的mysql-connector-java-3.0.15-ga-bin.jar放到jre/lib/ext和Tomcat 5.5/common/lib里面。 
  从http://jakarta.apache.org/commons/dbcp/下载commons-dbcp-1.2.1.zip,将其中的commons-dbcp-1.2.1.jar放到jre/lib/ext和Tomcat 5.5/common/lib里面。 

3 配置Tomcat 
  在Tomcat 5.5/conf/server.xml的<GlobalNamingResources>中添加: 
<Resource name="JDBC for MySQL" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" password="" maxIdle="2" maxWait="5000" username="root" url="jdbc:mysql://localhost/test" maxActive="4"/>。 
  在Tomcat 5.5/webapps/test/WEB-INF/web.xml的<web-app>中添加: 
<resource-ref> 
<description>MySQL Connection Pool</description> 
<res-ref-name>JDBC for MySQL</res-ref-name> 
<res-type>javax.sql.DataSource</res-type> 
<res-auth>Container</res-auth> 
</resource-ref> 
  在Tomcat 5.5/webapps/test/META-INF/context.xml的<Context>中添加: 
<ResourceLink name="JDBC for MySQL" global="JDBC for MySQL" type="javax.sql.DataSourcer"/> 

4 测试 
  重启Tomcat服务器,写一个test.jsp: 
<!doctype html public "-//w3c//dtd html 4.0 transitional//en" 
"http://www.w3.org/TR/REC-html40/strict.dtd"> 
<%@ page import="java.sql.*"%> 
<%@ page import="javax.sql.*"%> 
<%@ page import="javax.naming.*"%> 
<%@ page session="false" %> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>Test of MySQL connection pool</title> 
</head> 
<body> 
<% 
out.print("Start<br/>"); 
try{ 
Context initCtx = new InitialContext(); 
Context ctx = (Context) initCtx.lookup("java:comp/env"); 
Object obj = (Object) ctx.lookup("JDBC for MySQL"); 
javax.sql.DataSource ds = (javax.sql.DataSource)obj; 
Connection conn = ds.getConnection(); 
out.print("MySQL connection pool runs perfectly!"); 
conn.close(); 

catch(Exception ex){ 
out.print(ex.getMessage()); 
ex.printStackTrace(); 

%> 
</body> 
</html> 
  在浏览器中浏览该jsp文件,成功了哦。记得千万要用完close哦,不然一会就耗尽了。这一点可以通过以root身份登录MySQL,运行show processlist;命令来查看当前所有连接。 
原创粉丝点击