Tomcat5.0连接池配置(oracle / mysql / sqlserver2000)

原创 2007年10月12日 16:02:00
 Tomcat5.0连接池配置(oracle / mysql / sqlserver2000)
 
 
       最近研究了一下tomcat5 连接池的配置,有点心德体会,不敢独享,希望能帮助有需要的朋友,这里给出我们最常用的几种数据库的配置,环境: tomcat5.0; oracle_9i, sqlserver2000 sp4 , mysql5.0。
 
 
总的来说在tomcat5.0配置连接池有4项工作要做。(前提是你的Tomcat运行正常)
1、首先要在Tomcat 目录 %CATALINA_HOME%conf/Catalina/localhost/ 下建一个与你
的WebApp服务一样的名称的XML文件。
 
           例如:http://localhost:8080/YouWeb/index.jsp 这个是访问你网站的URL,那么这个XML文件就是: YouWeb.xml。(后面叙述用此例名称)
2、在此XML文件中配置一个Context节点,详见下面叙述。
3、在你的项目工程文件下的 WEB-INf/web.xml中配置与Context节点对应的数据源,详
见下面叙述。
4、配置结束、用代码即可实现调用,详见下面叙述。
按照上面的流程,我将一一道来,首先我们来配置Oracle。
=================================================================================

Oracle数据源配置:
1,在 %CATALINA_HOME%/conf/Catalina/localhost/ 目录下建一个 YouWeb.xml。
2,在YouWeb.xml文件中配置如下信息:

<?xml version='1.0' encoding='utf-8'?>
<!-- Context节点的path属性就是你的WebApp服务名,与上面同。
     reloadable 如果这个属性设为true,Tomcat服务器在运行状态下会监视在WEB-
INF/classes和WEB-INF/lib目录下class文件的改动。如果监测到有class文件被更新,
服务器会自动重新加载Web应用。
     docBase 指定Web应用的文件路径,可以给定绝对路径,也可以指定相对于Host的
appBase属性的相对路径。如果Web采用开放目录结构,则指定Web应用的根目录;如果
Web应用是个WAR文件,则指定WAR文件的路径。
-->

<Context path="/YouWeb" reloadable="true" docBase="D:/YouProject/YouWeb">  
<!--注意:Resource节点里的name 要与下面的ResourceParams 节点里的name要一致。名字可以任意取,但一定要一致。-->
<Resource name="jdbc/oracle" type="javax.sql.DataSource"/>
<!--ResourceParams节点配置了访问数据库的用户名和密码、驱动等,这里不在叙述。-->
<ResourceParams name="jdbc/oracle">
      <parameter>
        <name>maxWait</name>
        <value>5000</value>
      </parameter>
      <parameter>
        <name>maxActive</name>
        <value>20</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>tiger</value>
      </parameter>
      <parameter>
        <name>url</name>
        <value>jdbc:oracle:thin:@localhost:1521:oraDB</value>
      </parameter>
      <parameter>
        <name>driverClassName</name>
        <value>oracle.jdbc.driver.OracleDriver</value>
      </parameter>
      <parameter>
        <name>maxIdle</name>
        <value>10</value>
      </parameter>
      <parameter>
        <name>username</name>
        <value>scott</value>
      </parameter>
    </ResourceParams>

 </Context>
3,在你的项目工程目录WEB-INf/web.xml中配置如下信息:
<!--注意:res-ref-name节点里的名字要与上面的ResourceParams和Resource节点里的name要一致。名字可以任意取,但一定要一致。-->
 <resource-ref>
     <res-ref-name>jdbc/oracle</res-ref-name>
     <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>
 </resource-ref>
4,最后,在你和程序中使用如下代码即可取得连接:
     InitialContext ctx = new InitialContext();
     //这里的java:comp/env是前缀,java语言规范,后面跟的是你Web.xml文件中
res-ref-name节点中的名字。
     DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/oracle");
     Connection conn = ds.getConnection();
---------------------------------------------------------------------------
----------------------------------------------------------------------------
SqlServer2000数据源配置:
=================================================
1,在 %CATALINA_HOME%/conf/Catalina/localhost/ 目录下建一个 YouWeb.xml。
2,在YouWeb.xml文件中配置如下信息:

<?xml version='1.0' encoding='utf-8'?>
<!-- Context节点的path属性就是你的WebApp服务名,与上面同。
     reloadable 如果这个属性设为true,Tomcat服务器在运行状态下会监视在WEB-
INF/classes和WEB-INF/lib目录下class文件的改动。如果监测到有class文件被更新,服务器会自动重新加载Web应用。
     docBase 指定Web应用的文件路径,可以给定绝对路径,也可以指定相对于Host的
appBase属性的相对路径。如果Web采用开放目录结构,则指定Web应用的根目录;如果Web应用是个WAR文件,则指定WAR文件的路径。
-->

<Context path="/YouWeb" reloadable="true" docBase="D:/YouProject/YouWeb">  
<!--注意:Resource节点里的name 要与下面的ResourceParams 节点里的name要一致。名字可以任意取,但一定要一致。-->
<Resource name="jdbc/sqlserver" type="javax.sql.DataSource"/>
<!--ResourceParams节点配置了访问数据库的用户名和密码、驱动等,这里不在叙述-->
<ResourceParams name="jdbc/sqlserver">
      <parameter>
        <name>maxWait</name>
        <value>5000</value>
      </parameter>
      <parameter>
        <name>maxActive</name>
        <value>20</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>sa</value>
      </parameter>
      <parameter>
        <name>url</name>
       
<value>jdbc:microsoft:sqlserver://localhost;DatabaseName=dbname</value>
      </parameter>
      <parameter>
        <name>driverClassName</name>
        <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
      </parameter>
      <parameter>
        <name>maxIdle</name>
        <value>10</value>
      </parameter>
      <parameter>
        <name>username</name>
        <value>sa</value>
      </parameter>
    </ResourceParams>
</Context>

3,在你的项目工程目录WEB-INf/web.xml中配置如下信息:
<!--注意:res-ref-name节点里的名字要与上面的ResourceParams和Resource节点里的name要一致。名字可以任意取,但一定要一致。-->
 <resource-ref>
     <res-ref-name>jdbc/sqlserver</res-ref-name>
     <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>
 </resource-ref>
4,最后,在你和程序中使用如下代码即可取得连接:
     InitialContext ctx = new InitialContext();
     //这里的java:comp/env是前缀,java语言规范,后面跟的是你Web.xml文件中
res-ref-name节点中的名字。
     DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/server");
     Connection conn = ds.getConnection();
---------------------------------------------------------------------------
----------------------------------------------------------------------------
mysql数据源配置:
==================================================
1,在 %CATALINA_HOME%/conf/Catalina/localhost/ 目录下建一个 YouWeb.xml。
2,在YouWeb.xml文件中配置如下信息:

<?xml version='1.0' encoding='utf-8'?>
<!-- Context节点的path属性就是你的WebApp服务名,与上面同。
     reloadable 如果这个属性设为true,Tomcat服务器在运行状态下会监视在WEB-
INF/classes和WEB-INF/lib目录下class文件的改动。如果监测到有class文件被更新,
服务器会自动重新加载Web应用。
     docBase 指定Web应用的文件路径,可以给定绝对路径,也可以指定相对于Host的
appBase属性的相对路径。如果Web采用开放目录结构,则指定Web应用的根目录;如果
Web应用是个WAR文件,则指定WAR文件的路径。
-->
<Context path="/YouWeb" reloadable="true" docBase="D:/YouProject/YouWeb">  
<!--注意:Resource节点里的name 要与下面的ResourceParams 节点里的name要一致。名字可以任意取,但一定要一致。-->
<Resource name="jdbc/mysql" type="javax.sql.DataSource"/>
<!--ResourceParams节点配置了访问数据库的用户名和密码、驱动等,这里不在叙述。-->
<ResourceParams name="jdbc/mysql">
      <parameter>
        <name>maxWait</name>
        <value>5000</value>
      </parameter>
      <parameter>
        <name>maxActive</name>
        <value>20</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>root</value>
      </parameter>
      <parameter>
        <name>url</name>
        <value>jdbc:mysql://localhost/mysqlDBName</value>
      </parameter>
      <parameter>
        <name>driverClassName</name>
        <value>org.gjt.mm.mysql.Driver</value>
      </parameter>
      <parameter>
        <name>maxIdle</name>
        <value>10</value>
      </parameter>
      <parameter>
        <name>username</name>
        <value>root</value>
      </parameter>
    </ResourceParams>
</Context>
3,在你的项目工程目录WEB-INf/web.xml中配置如下信息:
<!--注意:res-ref-name节点里的名字要与上面的ResourceParams和Resource节点里的name要一致。名字可以任意取,但一定要一致。-->
 <resource-ref>
     <res-ref-name>jdbc/mysql</res-ref-name>
     <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>
 </resource-ref>
4,最后,在你和程序中使用如下代码即可取得连接:
     InitialContext ctx = new InitialContext();
     //这里的java:comp/env是前缀,java语言规范,后面跟的是你Web.xml文件中
res-ref-name节点中的名字。
     DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/mysql");
     Connection conn = ds.getConnection();
---------------------------------------------------------------------------
---------------------------------------------------------------------------
=================================================
总结:
如果你看完了整篇文章,你应该会发现这三种数据源的配置基本上是一样的;所以,只
需要会配一种,其它的就都没有问题。希望上面的叙述能给有需要的朋友一些帮助。如果还有什么问题?欢迎大家联系我,e-mail:snyy20@126.com

下面是三个数据源一起配置的XML文件:
<?xml version='1.0' encoding='utf-8'?>
<Context path="/YouWeb" reloadable="true" docBase="D:/YouProject/YouWeb">
<Resource name="jdbc/oracle" type="javax.sql.DataSource"/>
<Resource name="jdbc/sqlserver" type="javax.sql.DataSource"/>
<Resource name="jdbc/mysql" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/oracle">
      <parameter>
        <name>maxWait</name>
        <value>5000</value>
      </parameter>
      <parameter>
        <name>maxActive</name>
        <value>20</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>tiger</value>
      </parameter>
      <parameter>
        <name>url</name>
        <value>jdbc:oracle:thin:@localhost:1521:oraDB</value>
      </parameter>
      <parameter>
        <name>driverClassName</name>
        <value>oracle.jdbc.driver.OracleDriver</value>
      </parameter>
      <parameter>
        <name>maxIdle</name>
        <value>10</value>
      </parameter>
      <parameter>
        <name>username</name>
        <value>scott</value>
      </parameter>
    </ResourceParams>

<ResourceParams name="jdbc/sqlserver">
      <parameter>
        <name>maxWait</name>
        <value>5000</value>
      </parameter>
      <parameter>
        <name>maxActive</name>
        <value>20</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>sa</value>
      </parameter>
      <parameter>
        <name>url</name>
       
<value>jdbc:microsoft:sqlserver://localhost;DatabaseName=dbname</value>
      </parameter>
      <parameter>
        <name>driverClassName</name>
        <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
      </parameter>
      <parameter>
        <name>maxIdle</name>
        <value>10</value>
      </parameter>
      <parameter>
        <name>username</name>
        <value>sa</value>
      </parameter>
    </ResourceParams>
<ResourceParams name="jdbc/mysql">
      <parameter>
        <name>maxWait</name>
        <value>5000</value>
      </parameter>
      <parameter>
        <name>maxActive</name>
        <value>20</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>root</value>
      </parameter>
      <parameter>
        <name>url</name>
        <value>jdbc:mysql://localhost/mysqlDBName</value>
      </parameter>
      <parameter>
        <name>driverClassName</name>
        <value>org.gjt.mm.mysql.Driver</value>
      </parameter>
      <parameter>
        <name>maxIdle</name>
        <value>10</value>
      </parameter>
      <parameter>
        <name>username</name>
        <value>root</value>
      </parameter>
    </ResourceParams>
</Context>
 
=========================
WEB-INf/web.xml中配置如下信息:
 <resource-ref>
     <res-ref-name>jdbc/oracle</res-ref-name>
     <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>
 </resource-ref>
 <resource-ref>
     <res-ref-name>jdbc/sqlserver</res-ref-name>
     <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>
 </resource-ref>
 <resource-ref>
     <res-ref-name>jdbc/mysql</res-ref-name>
     <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>
 </resource-ref>
如果还有什么问题?欢迎大家联系我,e-mail:snyy20@126.com
 

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

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

JavaWeb:JDBC之数据库连接池

系列阅读 JavaWeb:用JDBC操作数据库 JavaWeb:JDBC之事务 JavaWeb:JDBC之数据库连接池 池参数(所有池参数都有默认值) 初始大小:10个 最小空闲连接数:3个 增量:一...
  • axi295309066
  • axi295309066
  • 2016年10月31日 12:28
  • 3546

mysql合理配置连接池数量

mysql5.6配置连接池
  • XingKong22star
  • XingKong22star
  • 2015年09月25日 11:39
  • 11954

.Net直连oracle数据库及连接池的配置

.Net直连oracle数据库及连接池的配置
  • rznice
  • rznice
  • 2017年07月10日 15:29
  • 671

Hibernate学习笔记----数据库连接池配置

10 5 2 2000
  • a1610770854
  • a1610770854
  • 2016年07月20日 13:59
  • 677

spring配置dbcp链接数据库

1.spring的配置文件 springmvc-servlet.xml classpath:jdbc.properties ...
  • u013147600
  • u013147600
  • 2016年01月14日 13:34
  • 2378

java Servlet使用c3p0创建多个Mysql数据库连接池,Sevlet使用c3p0创建oracle数据库连接池

java Servlet使用c3p0创建多个Mysql数据库连接池,Sevlet使用c3p0创建oracle数据库连接池...
  • weixin_36751895
  • weixin_36751895
  • 2017年04月24日 14:54
  • 865

Java数据库连接池的几种配置方法(以MySQL数据库为例)

Java数据库连接池的几种配置方法(以MySQL数据库为例)   一.Tomcat配置数据源: 前提:需要将连接MySQL数据库驱动jar包放进Tomcat安装目录中common文件夹下的li...
  • fu415037685
  • fu415037685
  • 2016年07月27日 15:19
  • 661

配置datasource三种方式 数据库连接池 .

spring配置datasource三种方式 1、使用org.springframework.jdbc.datasource.DriverManagerDataSource 说明:Driv...
  • zl834205311
  • zl834205311
  • 2016年07月05日 17:07
  • 11658

Python 数据库的连接池

在Python中如果对象定义了__del__方法的话,在对象的引用记数为0时会自动调用__del__方法(很象c++中的析构函数),但如果A对象引用B对象,B对象又引用A对象,就形成循环引用,此时A,...
  • bluehawksky
  • bluehawksky
  • 2014年09月05日 16:03
  • 2428
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: Tomcat5.0连接池配置(oracle / mysql / sqlserver2000)
举报原因:
原因补充:

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