中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > 综合文章
Tomcat下配置MySQL数据库连接池
作者:未知 时间:2005-07-27 22:34 出处:CSDN 责编:chinaitpower
              摘要:Tomcat下配置MySQL数据库连接池

经过大半天的实践和摸索,终于在Tomcat下成功地配置MySQL的数据库连接池。总结如下:

1.$CATALINA_HOME/conf/server.xml中添加配置信息,声明连接池的具体信息,添加内容如下:

<!--声明连接池-->

<Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"/>

<!-- 对连接池的参数进行设置 -->

<ResourceParams name="jdbc/mysql">

        <parameter>

            <name>factory</name>

               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>

        </parameter>

      <parameter>

        <name>maxWait</name>

        <value>5000</value>

      </parameter>

      <parameter>

        <name>maxActive</name>

        <value>20</value>

      </parameter>

<parameter>

        <name>username</name>

        <value>shopadm</value>

      </parameter>

      <parameter>

        <name>password</name>

        <value>123</value>

      </parameter>

      <parameter>

        <name>url</name>        <value>jdbc:mysql://localhost/shopdb?useUnicode=true&amp;charact-erEncoding=gb2312</value>

      </parameter>

      <parameter>

        <name>driverClassName</name>

        <value>com.mysql.jdbc.Driver</value>

      </parameter>

      <parameter>

        <name>maxIdle</name>

        <value>10</value>

      </parameter>     

    </ResourceParams>

2. $CATALINA_HOME/conf/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>

其中<res-ref-name>中的参数名必须和server.xml中声明的连接名一样。

 

3. $CATALINA_HOME/conf/catalina/localhost目录下找到需要进行数据库连接的当前程序的配置信息,比如这里是shopping.xml,在这个文件中添加如下信息:

<Context …>

    

<ResourceLink name=”jdbc/mysql” global=”jdbc/mysql” type=”javax.sql.DataSource”/>

    

</Context>

 

大功告成!

 

在此基础上,参考Tomcat官方网站的用户手册,摸索出另外一种配置连接池的方法,这个方法不需要对server.xml进行修改,只要对需要使用到连接池的程序的配置文档进行修改就可以了。方法如下:

1.$CATALINA_HOME/conf/catalina/localhost目录下找到需要数据库连接池的程序的配置文档,此处是shopping.xml。在<Context> </Context>之间添加如下信息,声明一个数据库连接池:

<Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"/>

 

  <ResourceParams name="jdbc/mysql">

        <parameter>

            <name>factory</name>

               <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>

        </parameter>

      <parameter>

        <name>maxWait</name>

        <value>5000</value>

      </parameter>

      <parameter>

        <name>maxActive</name>

        <value>20</value>

      </parameter>

      <parameter>

        <name>password</name>

        <value>123</value>

      </parameter>

      <parameter>

        <name>url</name>

        <value>jdbc:mysql://localhost/shopdb?useUnicode=true&amp;characterEncoding=gb2312</value>

      </parameter>

      <parameter>

        <name>driverClassName</name>

        <value>com.mysql.jdbc.Driver</value>

      </parameter>

      <parameter>

        <name>maxIdle</name>

        <value>10</value>

      </parameter>

      <parameter>

        <name>username</name>

        <value>shopadm</value>

      </parameter>

    </ResourceParams>

这里的参数和上一种方法中添加到server.xml里的信息几乎是完全一样的。

 

2.在对应程序的WEB-INF下建立一个web.xml文档,添加如下信息:

<?xml version="1.0" encoding="ISO-8859-1"?>

 

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

      http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

    version="2.4">

    <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> 

</web-app>

关键是斜体字的部分,指向前面声明的连接池。

 

这两种方法经测试都能配置成功,显然他们的“作用域”是不一样的。另外,配置以后内部的引用以及运行机制,留待以后再深入研究。接下来先开始学习数据库连接池和JSP的协同工作。


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有