TOMCAT 5.5 配置 MYSQL数据库连接池

      关于连接池的配置,本人一直觉得很烦琐,最近因为项目中又需要配置,足足弄了一个下午才弄清楚,虽然网上有许多文章讲到,我整理后将最完整的方法提供如下

STEP1
登陆TOMCAT管理界面 http://localhost/admin(用户名密码在TOMCAT的USER.XML中有记录)
选择Resources-Data Sources-Create New Data Source

JNDI Name:  jdbc/mysql  
Data Source URL:  jdbc:mysql://localhost:3306/dbpooltest 
JDBC Driver Class: com.mysql.jdbc.Driver  
User Name: root    
Password:  111 
Max. Active Connections:    4
Max. Idle Connections:  2 
Max. Wait for Connection:   5000

点击save-commit changes-log out

STEP2
进入TOMCAT5.5/conf/文件夹,修改context.xml.在<context>后加入
<Resource name="jdbc/mysql"
auth="Container"
        type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
         url="jdbc:mysql://localhost:3306/dbpooltest"
username="root"
        password="111"
maxActive="4"
maxIdle="2"
maxWait="5000" />

STEP3
进入Tomcat 5.5/conf/Catalina/localhost/,新建dbpooltest.xml,内容如下
<?xml version="1.0" encoding="UTF-8"?>
<Context>
  <Resource
    auth="Container"
    name="jdbc/mysql"
    type="javax.sql.DataSource"
    password="111"
    driverClassName="com.mysql.jdbc.Driver"
    maxIdle="2"
    maxWait="5000"
    username="root"
    url="jdbc:mysql://localhost:3306/dbpooltest"
    maxActive="4"/>
</Context>

STEP4
在ECLIPS的dbpooltest工程下找到WebRoot/WEB-INF-web.xml
在</web-app>之前加入 
<resource-ref>
     <description>DB Connection</description>
     <res-ref-name>jdbc/mysql</res-ref-name>
     <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>
</resource-ref>

STEP5
在ECLIPS中引入JDBC驱动包,我这里为mysql-connector-java-5.0.8-bin.jar
并将这个文件考到tomcat5.5/commen/lib/下

配置完成!

测试用例:
<!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.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>
<%
try{
Context initCtx = new InitialContext();
Context ctx = (Context) initCtx.lookup("java:comp/env");
Object obj = (Object) ctx.lookup("jdbc/mysql");
javax.sql.DataSource ds = (javax.sql.DataSource)obj;
Connection conn = ds.getConnection();
out.print("start");
Statement stmt=conn.createStatement();
String sft="select * from test";
ResultSet rs=stmt.executeQuery(sft);
while(rs.next()){
out.print(rs.getString(2));
}
out.print("over");
conn.close();
}
catch(Exception ex){
out.print(ex.getMessage());
ex.printStackTrace();
}
%>
</body>
</html>
***********************************************************************************
Tips:
dbpooltest为工程名
MySQL相关参数:http://hi.baidu.com/jt88/blog/item/676ab1a13118608947106412.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值