Tomcat5的数据库连接池配置

原创 2004年09月14日 01:51:00

Tomcat5的数据库连接池配置

本文主要介绍Tomcat5.0.25这个版本下数据库连接池的配置,及程序对连接池的JNDI查找,并提供相应测试代码。最后指出配置及应用过程中的常见问题及解决方法。

1 .该文的配置环境:Tomcat5.0.25 + jdk1.4+ Sql Server 2000+Win2000

2.配置步骤:

第一步:

启动Tomcat,打开IE在地址栏内输入http://localhost:8080/admin  进入Tomcat的管理界面;点击右边的Data Sources 在右上角的下拉菜单中选择Create New Data Source 在下边的输入框中输入需要的配置信息。

JNDI Name:jdbc/XXX(XXX为自己所命的名字)

Data Source URL:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb(连接的数据名)

JDBC Driver Class: com.microsoft.jdbc.sqlserver.SQLServerDriver

User Name:连接数据库的用户名

Password: 数据库密码

Max. Active Connections: 最大连接数

Max. Idle Connections: 是最大的空闲连接数

Max. Wait for Connection: 最大等待连接数

 

第二步:配置web.xml
打开webapps/ROOT/WEB-INF下web.xml,加入如下内容:
  
<resource-ref>
  <description>SqlServer Datasource example</description>
  <res-ref-name>jdbc/SqlServerDB</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
  </resource-ref>

第三步:配置tomcat(添加类)

首先要下载安装sqlserver-jdbc-驱动,然后将其lib下的三个jar文件放到

tomcat/common/lib下。

 

注意事项:

如果是单个JSP页面我们将它放在TOMCAT_HOME/webapps/ROOT下边,同时还须修改TOMCAT_HOME/conf/Catalina/localhost/下的ROOT.xml文件,在

<Resource auth="Container" description="SqlServer Datasource example" name="jdbc/SqlServerDB" type="javax.sql.DataSource"/>下边加入:

<ResourceLink global="jdbc/test" name="jdbc/test" type="javax.sql.DataSource"/>

来引用所配置的JNDI数据源。同时将<Resource auth="Container" description="SqlServer Datasource example" name="jdbc/SqlServerDB" type="javax.sql.DataSource"/>注释掉

    如果我们要部署的是个WEB应用程序,我们将该应用程序放在TOMCAT_HOME/webapps目录下,有两种方式可以引用我们所配置的JNDI数据源。

A:可以在TOMCAT_HOME/conf/Catalina/localhost下新建XXX.xml文件,XXX为所发布的WEB应用的名字,如我所发布的WEB应用是JndiTest,.xml文件命名为JndiTest.xml在该文件内加:

<?xml version='1.0' encoding='utf-8'?>

<Context debug="1" docBase="E:/Tomcat 5.0/webapps/JndiTest" path="/JndiTest" reloadable="true" workDir="work/Catalina/localhost/JndiTest">

  <Resource name="jdbc/test" type="javax.sql.DataSource"/>

  <ResourceParams name="jdbc/test">

    <parameter>

      <name>factory</name>

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

    </parameter>

    <parameter>

      <name>password</name>

      <value>jsjrj</value>

    </parameter>

    <parameter>

      <name>maxActive</name>

      <value>4</value>

    </parameter>

    <parameter>

      <name>maxWait</name>

      <value>5000</value>

    </parameter>

    <parameter>

      <name>url</name>

      <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb</value>

    </parameter>

    <parameter>

      <name>driverClassName</name>

      <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>

    </parameter>

    <parameter>

      <name>username</name>

      <value>sa</value>

    </parameter>

    <parameter>

      <name>maxIdle</name>

      <value>2</value>

    </parameter>

  </ResourceParams>

</Context>

其中E:/Tomcat 5.0/webapps/JndiTest为你所发布应用程序的目录,这样就可以进行测试了。

这样做就是每个WEB应用程序都须创建一个象JndiTest.xml这样的文件。

B;为了避免每个WEB应用程序都创建XXX.xml文件,我们可以修改TOMCAT_HOME/conf下的server.xml文件,修改如下:

<Host></Host>之间加入:

<Context path="/JndiTest" docBase="E:/Tomcat 5.0/webapps/JndiTest" debug="1" reloadable="true">

    <Resource name="jdbc/test" type="javax.sql.DataSource"/>

    <ResourceParams name="jdbc/test">

      <parameter>

        <name>url</name>

        <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb</value>

      </parameter>

      <parameter>

        <name>driverClassName</name>

        <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>

      </parameter>

      <parameter>

        <name>maxWait</name>

        <value>5000</value>

      </parameter>

      <parameter>

        <name>maxActive</name>

        <value>4</value>

      </parameter>

      <parameter>

        <name>password</name>

        <value>jsjrj</value>

      </parameter>

      <parameter>

        <name>maxIdle</name>

        <value>2</value>

      </parameter>

      <parameter>

        <name>username</name>

        <value>sa</value>

      </parameter>

      <parameter>

        <name>factory</name>

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

      </parameter>

    </ResourceParams>

   </Context>

<Resource auth="Container" description="User database that can be updated and saved" name="UserDatabase" type="org.apache.catalina.UserDatabase"/>下的

<Resource name="jdbc/test" type="javax.sql.DataSource"/>

同时移去上边的这段:(也可以不移去<ResourceParams name="jdbc/test">

      <parameter>

        <name>url</name>

        <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb</value>

      </parameter>

      <parameter>

        <name>driverClassName</name>

        <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>

      </parameter>

      <parameter>

        <name>maxWait</name>

        <value>5000</value>

      </parameter>

      <parameter>

        <name>maxActive</name>

        <value>4</value>

      </parameter>

      <parameter>

        <name>password</name>

        <value>jsjrj</value>

      </parameter>

      <parameter>

        <name>maxIdle</name>

        <value>2</value>

      </parameter>

      <parameter>

        <name>username</name>

        <value>sa</value>

      </parameter>

      <parameter>

        <name>factory</name>

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

      </parameter>

</ResourceParams>

注意要在每个WEB应用程序的web.xml文件中都加入

<resource-ref>
  <description>SqlServer Datasource example</description>
  <res-ref-name>jdbc/SqlServerDB</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
  </resource-ref>

3.测试

编写jsp文件:

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.sql.*"%>

<%@ page import="javax.sql.*"%> 

<%@ page import="javax.naming.*"%> 

<html>

<body>

<%

 

Context ctx = new InitialContext();

Connection conn=null;

          ctx = new InitialContext();

          DataSource ds =(DataSource)ctx.lookup("java:comp/env/jdbc/test");

          conn = ds.getConnection();

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

String sql="select * from T_Student";

ResultSet rs=stmt.executeQuery(sql);

while(rs.next()) {%>

<%

out.print(rs.getString(1));

out.print(rs.getString(2));

out.print(rs.getString(3));

}%>

<%

out.print("数据库操作成功,恭喜你");

rs.close();

stmt.close();

conn.close();

%>

</body>

</html>

三种数据库连接池的配置及使用(For JDBC)

三种开源数据源c3p0,DBCP以及Tomcat内置数据源(DBCP)的使用简介,
  • u012802702
  • u012802702
  • 2016年04月15日 09:26
  • 8946

java数据库连接池配置的几种方法

今天遇到了关于数据源连接池配置的问题,发现有很多种方式可以配置,现总结如下,希望对大家有所帮助:(已Mysql数据库为例) 一,Tomcat配置数据源: 方式一:在WebRoot下面建文件夹ME...
  • lx19860203
  • lx19860203
  • 2014年01月07日 10:12
  • 2221

三、配置数据库连接池

一、添加数据库包commons-dbcp依赖 pom.xml文件内容为:   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0...
  • mgfshut
  • mgfshut
  • 2016年11月02日 16:47
  • 935

数据库连接池的几种配置方法

数据库连接是一种关键的有限的昂贵的资源,这在多用户网页应用程序中体现的尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标,数据库连接池正是针对这个问题提出的. ...
  • jiangbingbo123
  • jiangbingbo123
  • 2016年05月13日 20:22
  • 22652

Spring 中数据源和数据库连接池配置的几种方法

原文地址:http://blog.csdn.net/liyangbing315/article/details/4730961 Spring 中数据源和数据库连接池配置的几种方法 ...
  • SengMay
  • SengMay
  • 2016年04月19日 17:41
  • 2125

常用数据库连接池的配置

1.阿里巴巴-德鲁伊druid连接池配置 1.1、简介: Druid是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池、插件框架和SQL解析器组成。该项目主要是为了扩展JDBC的一些限制,可以...
  • u010427935
  • u010427935
  • 2017年03月20日 16:00
  • 1393

spring+mybatis+c3p0数据库连接池或druid连接池使用配置整理

在系统性能优化的时候,或者说在进行代码开发的时候,多数人应该都知道一个很基本的原则,那就是保证功能正常良好的情况下,要尽量减少对数据库的操作。 据我所知,原因大概有这样两个: 一个是,一般情况下系...
  • tuzongxun
  • tuzongxun
  • 2017年02月15日 15:19
  • 4038

配置tomcat7自带数据库连接池

1.配置tomcat下conf/context.xml
  • woaigaolaoshi
  • woaigaolaoshi
  • 2016年07月01日 14:54
  • 2102

JDBC 数据库连接池 配置

当对数据库的访问不是很频繁时,可以在每次访问数据库时建立一个连接,用完之后关闭。但是,对于一个复杂的数据库应用,频繁的建立、关闭连接,会极大的减低系统性能,造成瓶颈。所以可以使用数据库连接池来达到连接...
  • indieinside
  • indieinside
  • 2014年11月04日 19:25
  • 8778

spring学习笔记(17)数据库配置[1]spring数据连接池详解

数据连接池在spring中,常使用数据库连接池来完成对数据库的连接配置,类似于线程池的定义,数据库连接池就是维护有一定数量数据库连接的一个缓冲池,一方面,能够即取即用,免去初始化的时间,另一方面,用完...
  • qwe6112071
  • qwe6112071
  • 2016年03月24日 22:59
  • 3852
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Tomcat5的数据库连接池配置
举报原因:
原因补充:

(最多只允许输入30个字)