日期:2014-05-16  浏览次数:20318 次

tomcat6数据库连接池配置详解
tomcat6数据库连接池配置详解

首先说明下我的配置环境
tomcat的版本是apache-tomcat-6.0.33非安装版本,路径为D:\Java\apache-tomcat-6.0.33,tomcat环境变量不设置不影响连接池的配置,
mysql的驱动是mysql-connector-java-5.1.7-bin.jar,我建立的项目为JavaWeb。

在TOMCAT6中配置数据库连接池,我自己测试成功的方法有四种:
1)、配置全局数据库连接池(通过server.xml文件配置)
2)、配置全局数据库连接池(通过context.xml文件配置)
3)、配置局部数据库连接池(建立同项目名称相同的配置文件,放在%TOMCATHOME%\conf\Catalina\localhost,
                        我电脑目录为D:\Java\apache-tomcat-6.0.33\conf\Catalina\localhost)                         
4)、配置局部数据库连接池(建立context.xml文件,放置在项目的META-INF目录下)


第一种方法:
在server.xml配置文件中host标签下添加如下代码:
<Context path="/JavaWeb" docBase="JavaWeb" debug="0">
    <Resource name="jdbc/webdb" auth="Container" type="javax.sql.DataSource"
              driverClassName="com.mysql.jdbc.Driver"
  url="jdbc:mysql://localhost:3306/webdb"
  username="root"
  password="root"
  maxActive="200"
  maxIdle="50"
  maxWait="3000"/>
</Context>

第二种方法:
在context.xml配置文件中添加如下代码:
<Context path="/JavaWeb" docBase="JavaWeb" debug="0">
    <Resource name="jdbc/webdb" auth="Container" type="javax.sql.DataSource"
              driverClassName="com.mysql.jdbc.Driver"
  url="jdbc:mysql://localhost:3306/webdb"
  username="root"
  password="root"
  maxActive="200"
  maxIdle="50"
  maxWait="3000"/>
</Context>

第三种方法:
建立一个同项目名称相同的xml文件,如JavaWeb.xml,内容如下:
<?xml version='1.0' encoding='utf-8'?> 
<Context path="/JavaWeb" docBase="JavaWeb" debug="0">
    <Resource name="jdbc/webdb" auth="Container" type="javax.sql.DataSource"
              driverClassName="com.mysql.jdbc.Driver"
  url="jdbc:mysql://localhost:3306/webdb"
  username="root"
  password="root"
  maxActive="200"
  maxIdle="50"
  maxWait="3000"/>
</Context>
将此文件放置在%TOMCATHOME%\conf\Catalina\localhost目录下。

第四种方法:
建立context.xml文件,内容如下:
<?xml version='1.0' encoding='utf-8'?> 
<Context path="/JavaWeb" docBase="JavaWeb" debug="0">
    <Resource name="jdbc/webdb" auth="Container" type="javax.sql.DataSource"
              driverClassName="com.mysql.jdbc.Driver"
  url="jdbc:mysql://localhost:3306/webdb"
  username="root"
  password="root"
  maxActive="200"
  maxIdle="50"
  maxWait="3000"/>
</Context>
将其放置在JavaWeb项目中的META-INF目录下。
说明:tomcat加载文件context.xml后,会在%TOMCATHOME%\conf\Catalina\localhost目录下生成同项目名称相同的xml文件,如JavaWeb.xml。


以前配置过全局数据库连接池,就是修改server.xml文件,个人觉得这种配置方法非常不好,决定尝试下其他的连接池配置方法,也就有了今天这份文章。说下我配置中
出现的问题,需要的朋友可以借鉴下。刚开始我配置的时候,建立了一个同项目名称相同的配置文件:
JavaWeb.xml配置如下:
<?xml version='1.0' encoding='utf-8'?> 
<Context path="/JavaWeb" docBase="JavaWeb" debug="0">
    <ResourceLink name="jdbc/webdb" auth="Container" type="javax.sql.DataSource"
              driverClassName="com.mysql.jdbc.Driver"