Tomcat5.5数据库连接池配置

1/5/2008来源:Java教程人气:5285


  猫咪正不断把自己Blog上发表的文章转移到这里,给自己的Blog打打知名度,提高点人气。希望大家多访问猫咪的Blog。地址:http://blog.sina.com.cn/u/140065860
  喵!猫咪今天终于把Tomcat的数据库连接池问题搞定了。我这个美国的同类真是的,每次版本变化,配置文件都要变。网络上多是讲5.0的,5.5的有所更改,我参照网上一位朋友的说明,修改了一下,终于配置成功。唉,谁叫咱英文功底不足呢。
  我用的数据库是MySQL5.0,所以首先要把MySQL的JDBC驱动程序拷贝到Tomcat安装目录的/common/lib下和你自己网站的/WEB-INF/lib下。
  Server.xml的修改我推荐使用Tomcat的Admin组件完成,完全图形化配置,相当轻易。或者按下面的写法在<GlobalNamingResources></GlobalNamingResources>之间写如下配置(仅供参考,各位用的时候,请改成自己数据库的配置):
<Resource
      name="jdbc/mysql"
      type="javax.sql.DataSource"
      passWord="******"
      driverClassName="org.gjt.mm.mysql.Driver"
      maxIdle="2"
      maxWait="5000"
      username="root"
      url="jdbc:mysql://127.0.0.1/test"
      maxActive="4"/>
  然后,在Tomcat安装目录下/conf/Catalina/localhost文件夹中建立一个和你网站文件夹名字一样的XML文件。例如:TestSourse.xml。内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
 <Resource
      name="jdbc/mysql"
      type="javax.sql.DataSource"
      password="******"
      driverClassName="org.gjt.mm.mysql.Driver"
      maxIdle="2"
      maxWait="5000"
      username="root"
      url="jdbc:mysql://127.0.0.1/test"
      maxActive="4"/>
</Context>
  其实就是把Server.xml的内容再重复一遍。这一步非常重要,假如没有这步就会出错,会出现org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' 
for connect URL 'null'错误。
最后,在你自己网站的/WEB-INF/web.xml文件中,添加一下代码(参考):
<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>
  OK。配置全部完成。现在你可以写代码测试这个数据库连接池了。如:
DataSource ds = null;
InitialContext ctx=new InitialContext();
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql");
Connection conn = ds.getConnection();
  数据库连接对象得到了。