Tomcat 的数据库连接池设置与应用

数据|数据库|数据库连接

1.将数据库驱动程序的JAR文件放在Tomcat的 common/lib 中;

2.在server.xml中设置数据源,以MySQL数据库为例,如下:
在<GlobalNamingResources> </GlobalNamingResources>节点中加入,
      <Resource
      name="jdbc/DBPool"
      type="javax.sql.DataSource"
      password="root"
      driverClassName="com.mysql.jdbc.Driver"
      maxIdle="2"
      maxWait="5000"
      username="root"
      url="jdbc:mysql://127.0.0.1:3306/test"
      maxActive="4"/>
   属性说明:name,数据源名称,通常取”jdbc/XXX”的格式;
            type,”javax.sql.DataSource”;
            password,数据库用户密码;
            driveClassName,数据库驱动;
            maxIdle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连
                     接将被标记为不可用,然后被释放。设为0表示无限制。
            MaxActive,连接池的最大数据库连接数。设为0表示无限制。
            maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示
                     无限制。

3.在你的web应用程序的web.xml中设置数据源参考,如下:
  在<web-app></web-app>节点中加入,
  <resource-ref>
    <description>MySQL DB Connection Pool</description>
    <res-ref-name>jdbc/DBPool</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
 </resource-ref>
  子节点说明: description,描述信息;
               res-ref-name,参考数据源名字,同上一步的属性name;
               res-type,资源类型,”javax.sql.DataSource”;
               res-auth,”Container”;
               res-sharing-scope,”Shareable”;

4.在web应用程序的context.xml中设置数据源链接,如下:
  在<Context></Context>节点中加入,
  <ResourceLink
   name="jdbc/DBPool" 
   type="javax.sql.DataSource" 
   global="jdbc/DBPool"/>
   属性说明:name,同第2步和第3步的属性name值,和子节点res-ref-name值;
             type,同样取”javax.sql.DataSource”;
             global,同name值。
 
至此,设置完成,下面是如何使用数据库连接池。
1.建立一个连接池类,DBPool.java,用来创建连接池,代码如下:
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

public class DBPool {
    private static DataSource pool;
    static {
         Context env = null;
          try {
              env = (Context) new InitialContext().lookup("java:comp/env");
              pool = (DataSource)env.lookup("jdbc/DBPool");
              if(pool==null) 
                  System.err.println("'DBPool' is an unknown DataSource");
               } catch(NamingException ne) {
                  ne.printStackTrace();
          }
      }
    public static DataSource getPool() {
        return pool;
    }
}

2.在要用到数据库操作的类或jsp页面中,用DBPool.getPool().getConnection(),获得一个Connection对象,就可以进行数据库操作,最后别忘了对Connection对象调用close()方法,注意:这里不会关闭这个Connection,而是将这个Connection放回数据库连接池。

时间: 2024-09-27 02:31:37

Tomcat 的数据库连接池设置与应用的相关文章

使用tomcat的数据库连接池,如何获取数据库密码

问题描述 我开发的web应用,使用tomcat的数据库连接池,可以通过java的DatabaseMetaData接口可以获取到url.usename.driver等信息,除了password.我想获取到密码信息,如何获取?请大家帮忙,有分相送! 解决方案 解决方案二:想问问你获取密码干什么用呢?感觉完全没有必要啊解决方案三:这个通过程序是搞不到的.问数据库管理员,或者相关的人员,索要密码.或者重置密码.解决方案四:这个DatabaseMetaData接口没有提供这样的方法,你实在想获取,可以考虑

tomcat下数据库连接池的配置

tomcat数据库连接池配置在server.xml中添加到<content>中 <!-----------------------------------------------------------------------> <Resource name="jdbc/smsgroup" scope="Shareable" type="javax.sql.DataSource"/>          <

数据库连接池设置中,maxActive=0,是否代表不限制连接的数量呢?

问题描述 如文章标题上,谢谢大家指教 解决方案 解决方案二:Java中没有数据库连接池的实现.一般使用开源的数据库连接池实现,请说明具体用的是哪一款数据库连接池,还有是在什么地方使用,配置是怎么样的.另外,建议以后提问看一下<提问的智慧>,以免再问出这种不知所云的问题:解决方案三:一般就是commons-dbcp那个吧

在网上没有找到求数据库连接池的详解

问题描述 <Contextpath="/chao"docBase="chao"debug="5"reloadable="true"crossContext="true"workDir=""><Resourcename="jdbc/chaoshizx"auth="Container"type="javax.sql.Data

Tomcat5.5数据库连接池配置指南

      今天终于把Tomcat的数据库连接池问题搞定了.我这个美国的同类真是的,每次版本变化,配置文件都要变.网络上多是讲5.0的,5.5的有所更改,我参照网上一位朋友的说明,修改了一下,终于配置成功.唉,谁叫咱英文功底不足呢. 我用的数据库是MySQL5.0,所以首先要把MySQL的JDBC驱动程序拷贝到Tomcat安装目录的/common/lib下和你自己网站的/WEB-INF/lib下. Server.xml的修改我推荐使用Tomcat的Admin组件完成,完全图形化配置,相当容易.或

Tomcat下配置MySQL数据库连接池

mysql|数据|数据库|数据库连接 经过大半天的实践和摸索,终于在Tomcat下成功地配置MySQL的数据库连接池.总结如下: 1.在$CATALINA_HOME/conf/server.xml中添加配置信息,声明连接池的具体信息,添加内容如下: <!--声明连接池--> <Resource name="jdbc/mysql"auth="Container" type="javax.sql.DataSource"/> &

在NetBeans中设置数据库连接池详解

以往要设置数据库连接池,需要借助于第三方软件.但现在NetBeans所带的Tomcat 5.5.7及Sun Application Server 8均可以直接设置.下面谈谈如何在Tomcat 5.5.7下设置. 1. 下载数据库的专用连接驱动,并将其复制到C:\Program Files\netbeans-4.1\enterprise1\jakarta-tomcat-5.5.7\common\lib文件夹下面. 假设所用数据库是Sybase的Adaptive Server Anywhere,从S

Tomcat数据库连接池的配置方法总结

 数据库连接是一种关键的有限的昂贵的资源,这在多用户网页应用程序中体现的尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标,数据库连接池正是针对这个问题提出的. 数据库连接池负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏,这样可以明显提高对数据库操作的性能. 数据库连接池在初始化的时将创建一定数量的数据库连接放到连接

数据库连接池和Tomcat连接池的配置问题

          在做系统优化的时候师哥给我们提了一个连接池的概念,问我们有没有配置,我对这个概念一无所知,于是进行了一些研究,连接池有很多,比如WCF.EF还有数据库.CAS也可以配连接池,这些连接池用通俗的语言来说就是一个池子,池子里的资源可以收放自如,不用的时候可以立即收回,和我们通常用到USing的作用有些相似,就是可以自动的释放connection资源.         数据库中连接池的配置如下:         <span style="font-size:14px;&quo