环境: w2kp sp4,   jsdk1.4.2_8; tomcat5.0.2.8; oracle817, sqlserver2000 sp3 , mysql5 beta

总的来说在tomcat配置一个数据源有4项工作要做.
1. 在server.xml 里配置数据源连接池参数。 可以手动,也可以通过tomcat admin工具。
2. 在 %CATALINA_HOME%\conf\Catalina\localhost\ 下 , 对用你自己的webapp用户
  yourapp.xml 配置 对数据源的声明.
3. 在自定义的webapp 下WEB-INFO\web.xml 下配置对数据源的引用。
4. 在特定数据库的jdbc 驱动copy 到%CATALINA_HOME%\common\lib\ 下
    其他应用服务器可能要配置classpath 等.

oracle 数据源配置.
     1.进入 http://localhost:8080/admin/   conf文件夹下的tomcat-users.xml有管理员的用户名密码等信息。

选择Resources-Data sources进入配置数据源界面,选择Data Source Actions ->选择Create New Data Source,进入配置详细信息界面,内容如下:

JNDI Name:    jdbc/oracle           
            Data Source URL:  jdbc:oracle:thin:@192.168.0.18:1521:oradb
            JDBC Driver Class:   oracle.jdbc.driver.OracleDriver
            User Name:    oraconn
            Password:     oraconn           
            Max. Active Connections:    20
            Max. Idle Connections:    10
            Max. Wait for Connection:    5000
            Validation Query:

其中oradb 是oracle数据库的SID. oraconn 为oracle可用的用户名密码.

2.进入%TOMCAT_HOME%\conf\Catalina\localhost下,找到你的web应用对应的.xml文件(下面有我的web的目录结构),如    test.xml,并在此文件的下添入代码:

<ResourceLink name="jdbc/oracle" global="jdbc/oracle" type="javax.sql.DataSourcer"/>

3、  修改web.xml和%TOMCAT_HOME%\conf\Catalina\localhost下对应你的引用的配置文件

打开%TOMCAT_HOME%\conf\web.xml,在</web-app>的前面添加以下内容:

<resource-ref>

<description>oraDB Connection</description>

<res-ref-name>jdbc/ora</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

注意res-ref-name填写的内容要与在上文提到的JNDI Name名称一致。
  
     4. 在%oracle_home%\ora81\jdbc\lib 下有一个classes12.zip, 和nls_charset12.zip
      把这两个文件解压的一个临时目录下例如d:\work\temp\classes12  和    d:\work\temp\nls_charset12  
    进入这两个目录  d:> cd work\temp\classes12 
           用  jar -cvf classes12.jar * 创建classes12.jar 同样创建 nls_cahrset12.jar
    把这两个jar文件copy 到  %tomcat_home% \common\lib 下。

oracle 数据库配置完毕。
--------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
     sqlserver2000

1.进入 http://localhost:8080/admin/   conf文件夹下的tomcat-users.xml有管理员的用户名密码等信息。

选择Resources-Data sources进入配置数据源界面,选择Data Source Actions ->选择Create New Data Source,进入配置详细信息界面,内容如下:

JNDI Name:    jdbc/sqlserver     
            Data Source URL:  jdbc:microsoft:sqlserver://192.168.0.18:1433;DatabaseName=sqldb
            JDBC Driver Class:   com.microsoft.jdbc.sqlserver.SQLServerDriver
            User Name:    sqlconn
            Password:     sqlconn           
            Max. Active Connections:    20
            Max. Idle Connections:    10
            Max. Wait for Connection:    5000
            Validation Query:

其中sqldb 是sqldb数据库名称. sqlconn 为sqlserver可用的用户名密码.

2.进入%TOMCAT_HOME%\conf\Catalina\localhost下,找到你的web应用对应的.xml文件(下面有我的web的目录结构),如    test.xml,并在此文件的下添入代码:

<ResourceLink name="jdbc/sqlserver" global="jdbc/sqlserver" type="javax.sql.DataSourcer"/>

3、  修改web.xml和%TOMCAT_HOME%\conf\Catalina\localhost下对应你的引用的配置文件

打开%TOMCAT_HOME%\conf\web.xml,在</web-app>的前面添加以下内容:

<resource-ref>

<description>sqlserverDB Connection</description>

<res-ref-name>jdbc/sqlserver</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

注意res-ref-name填写的内容要与在上文提到的JNDI Name名称一致。
  
     4.   下载sqlserver2000 jdbc 驱动 http://download.microsoft.com/download/SQLSVR2000/Install/2.2.0022/UNIX/EN-US/mssqlserver.tar
    解压后找到如下jar包 msbase.jar , mssqlserver.jar, msutil.jar
    把这3个jar包copy 到  %tomcat_home% \common\lib 下。
  
     sqlserver 配置完毕
----------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------
     mysql5 beta 数据源配置

1.进入 http://localhost:8080/admin/   conf文件夹下的tomcat-users.xml有管理员的用户名密码等信息。

选择Resources-Data sources进入配置数据源界面,选择Data Source Actions ->选择Create New Data Source,进入配置详细信息界面,内容如下:

JNDI Name:    jdbc/mysql
            Data Source URL:  jdbc:mysql://192.168.0.18/mysqldb
            JDBC Driver Class:   com.mysql.jdbc.Driver
            User Name:    mysqlconn
            Password:     mysqlconn           
            Max. Active Connections:    20
            Max. Idle Connections:    10
            Max. Wait for Connection:    5000
            Validation Query:

其中sqldb 是sqldb数据库名称. mysqlconn 为sqlserver可用的用户名密码.

2.进入%TOMCAT_HOME%\conf\Catalina\localhost下,找到你的web应用对应的.xml文件(下面有我的web的目录结构),如    test.xml,并在此文件的下添入代码:

<ResourceLink name="jdbc/mysql" global="jdbc/mysql" type="javax.sql.DataSourcer"/>

3、  修改web.xml和%TOMCAT_HOME%\conf\Catalina\localhost下对应你的引用的配置文件

打开%TOMCAT_HOME%\conf\web.xml,在</web-app>的前面添加以下内容:

<resource-ref>

<description>mysqlDB Connection</description>

<res-ref-name>jdbc/sqlmysql</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

注意res-ref-name填写的内容要与在上文提到的JNDI Name名称一致。
  
     4.   下载mysql jdbc 驱动  mysql-connector-java-3.1.9.zip

解压后找到如下jar包 mysql-connector-java-3.1.9-bin.jar
    这个jar包copy 到  %tomcat_home% \common\lib 下。
  
    mysql  配置完毕

这是conf 下 server.xml 文件 的配置部分
     <GlobalNamingResources>
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
    <Resource auth="Container" description="User database that can be updated and saved" name="UserDatabase" type="org.apache.catalina.UserDatabase"/>
    <Resource name="jdbc/mysql" type="javax.sql.DataSource"/>
    <Resource name="jdbc/oracle" type="javax.sql.DataSource"/>
    <Resource name="jdbc/sqlserver" type="javax.sql.DataSource"/>
    <ResourceParams name="UserDatabase">
      <parameter>
        <name>factory</name>
        <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
      </parameter>
      <parameter>
        <name>pathname</name>
        <value>conf/tomcat-users.xml</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>mysqlconn</value>
      </parameter>
      <parameter>
        <name>url</name>
        <value>jdbc:mysql://192.168.0.18/mysqldb</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>mysqlconn</value>
      </parameter>
    </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>oraconn</value>
      </parameter>
      <parameter>
        <name>url</name>
        <value>jdbc:oracle:thin:@192.168.0.18: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>oraconn</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>sqlconn</value>
      </parameter>
      <parameter>
        <name>url</name>
        <value>jdbc:microsoft:sqlserver://192.168.0.18:1433;DatabaseName=sqldb</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>sqlconn</value>
      </parameter>
    </ResourceParams>
  </GlobalNamingResources>

其中192.168.0.18为数据库服务器IP
.  
   下面是 %CATALINA_HOME%\conf\Catalina\localhost 对应的 xml 文件。  我的应用是test.xml

<?xml versi encoding='utf-8'?>
<Context displayName="My Web Application" docBase="test" path="/test" workDir="work\Catalina\localhost\test">
  <ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSourcer"/>
  <ResourceLink global="jdbc/sqlserver" name="jdbc/sqlserver" type="javax.sql.DataSourcer"/>
  <ResourceLink global="jdbc/oracle" name="jdbc/oracle" type="javax.sql.DataSourcer"/>
</Context>

以下是test webapp 下的WEB-INFO web.xml文件

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>My Web Application</display-name>
<description>
        A application for test.
</description>
<!--Mysql Database Config start -->
<resource-ref>

<description>mysqlDB Connection</description>

<res-ref-name>jdbc/mysql</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

<!-- Mysql Database Config end -->

<!-- Sqlserver Database Config start -->
<resource-ref>
        <description>sqlserverDB Connection</description>

<res-ref-name>jdbc/sqlserver</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>
</resource-ref>
<!-- Sqlserver Database Config end -->

<!-- oracle Database Config start -->
<resource-ref>

<description>oracleDB Connection</description>

<res-ref-name>jdbc/oracle</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>
<!-- oracle Database Config end -->

<!-- Example filter to set character encoding on each request -->
    <filter>
        <filter-name>Set Character Encoding</filter-name>
        <filter-class>filters.SetCharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>GB2312</param-value>
        </init-param>
    </filter>

<filter-mapping>
        <filter-name>Set Character Encoding</filter-name>
        <url-pattern>/*</url-pattern>
</filter-mapping>

</web-app>
在oracle  , sqlserver , mysql 建立3个类似的简单表来测试  
mysql
create table test_user
(
  NAME    VARCHAR(50)

)
oracle
create table test_user
(
  NAME    VARCHAR2(50)

)

sqlserver
create table test_user
(
  NAME    VARCHAR(50)

)
ok  配置工作已经完成。 让我们写3个JSP来测试。

testDSoracle.jsp文件
     <%@ page contentType="text/html;charset=gb2312" %>

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

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

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

<%@ page session="false" %>

<html>

<head>

<title></title>

<%

out.print("我的测试开始"+"<br/>");

DataSource ds = null;

try{

InitialContext ctx=new InitialContext();

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

Connection conn = ds.getConnection();

Statement stmt = conn.createStatement();

String strSql = " select * from test_user";

ResultSet rs = stmt.executeQuery(strSql);

while(rs.next()){

out.print(rs.getString(1)+"<br/>");

}
        rs.close();
        stmt.close();
        conn.close();
out.print("我的测试结束");

}

catch(Exception ex){

out.print("出现例外,信息是:"+ex.getMessage());

ex.printStackTrace();

}

%>

</head>

<body>

</body>

</html>

=================================================================================================
     testDSsqlserver.jsp文件
     <%@ page contentType="text/html;charset=gb2312" %>

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

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

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

<%@ page session="false" %>

<html>

<head>

<title></title>

<%

out.print("我的测试开始"+"<br/>");

DataSource ds = null;

try{

InitialContext ctx=new InitialContext();

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

Connection conn = ds.getConnection();

Statement stmt = conn.createStatement();

String strSql = " select * from test_user";

ResultSet rs = stmt.executeQuery(strSql);

while(rs.next()){

out.print(rs.getString(1)+"<br/>");

}
        rs.close();
        stmt.close();
        conn.close();
out.print("我的测试结束");

}

catch(Exception ex){

out.print("出现例外,信息是:"+ex.getMessage());

ex.printStackTrace();

}

%>

</head>

<body>

</body>

</html>

=======================================================================================================

testDSmysql.jsp文件
     <%@ page contentType="text/html;charset=gb2312" %>

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

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

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

<%@ page session="false" %>

<html>

<head>

<title></title>

<%

out.print("我的测试开始"+"<br/>");

DataSource ds = null;

try{

InitialContext ctx=new InitialContext();

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

Connection conn = ds.getConnection();

Statement stmt = conn.createStatement();

String strSql = " select * from test_user";

ResultSet rs = stmt.executeQuery(strSql);

while(rs.next()){

out.print(rs.getString(1)+"<br/>");

}
        rs.close();
        stmt.close();
        conn.close();
out.print("我的测试结束");

}

catch(Exception ex){

out.print("出现例外,信息是:"+ex.getMessage());

ex.printStackTrace();

}

%>

</head>

<body>

</body>

</html>

tomcat5配置常见数据库连接池的例子.相关推荐

  1. Tomcat 5.5 配置 MySQL 数据库连接池

    用了最新的几个咚咚,搞了整整一天终于搞清楚了Tomcat 5.5 配置 MySQL 数据库连接池,网上的经验并不能完全用到新环境里面,我写出整个过程以方便大家配置. 1 环境描述 JDK 1.5 To ...

  2. jboss mysql cluster_jboss配置mysql数据库连接池

    jboss配置mysql数据库连接池 下面YJBYS小编为大家整理了关于jboss配置mysql数据库连接池的文章,希望对你有所帮助.更多Java认证考试信息,尽在应届毕业生培训网! 1:配置: JD ...

  3. 几种常见数据库连接池的使用比较

    感觉在介绍之前有必要阐述一下连接池的几个概念,有助于后边一些文字的理解. 最原始的 数据库 使用就是打开一个连接并进行使用,使用过后一定要关闭连接释放资源.由于频繁的打开和关闭连接对jvm包括数据库 ...

  4. Tomcat中配置MySQL数据库连接池

    Web开发中与数据库的连接是必不可少的,而数据库连接池技术很好的优化了动态页与数据库的连接,相比单个连接数据库连接池节省了很大的资源.用一个通俗的比喻:如果一个人洗澡需花一桶水,那一百个人就要花一百桶 ...

  5. Mysql 连接池session_Hibernate第十一篇【配置C3P0数据库连接池、线程Session】

    Hibernate连接池 Hibernate自带了连接池,但是呢,该连接池比较简单..而Hibernate又对C3P0这个连接池支持-因此我们来更换Hibernate连接池为C3P0 查看Hibern ...

  6. Hibernate第十一篇【配置C3P0数据库连接池、线程Session】

    Hibernate连接池 Hibernate自带了连接池,但是呢,该连接池比较简单..而Hibernate又对C3P0这个连接池支持-因此我们来更换Hibernate连接池为C3P0 查看Hibern ...

  7. SpringBoot精通系列-开发案例之配置Druid数据库连接池

    导语   在使用SpringBoot的时候默认情况下提供了若干的数据库连接池,例如(dbcp,dbcp2,tomcat,hikari)等等,当然并不支持我们接下来所说的Druid,Druid是来自与阿 ...

  8. log4j mysql 异步_spring boot:配置druid数据库连接池(开启sql防火墙/使用log4j2做异步日志/spring boot 2.3.2)...

    一,druid数据库连接池的功能? 1,Druid是阿里巴巴开发的号称为监控而生的数据库连接池 它的优点包括: 可以监控数据库访问性能 SQL执行日志 SQL防火墙 2,druid的官方站: http ...

  9. java 连接池配置_java数据库连接池配置的几种方式

    关于java数据库连接池配置的几种方式 今天遇到了关于数据源连接池配置的问题,发现有很多种方式可以配置,现总结如下,(已Mysql数据库为例) 一,Tomcat配置数据源: 方式一:在WebRoot下 ...

最新文章

  1. linux chkconfig 添加服务 开机启动
  2. 小Z的房间[HEOI2015] (matrix-tree定理)
  3. 计算机系统结构相关技术,计算机系统结构第1章技术总结.pptx
  4. 前端学习(1979)vue之电商管理系统电商系统之让文本框获得焦点
  5. 强化学习之原理与应用
  6. js基础--变量、数据类型、循环、判断、函数定义
  7. 用四张图说清楚Go程序调度的本质
  8. mfc combobox dropdown中编辑框不可输入的属性设置_实践 | 一文知晓MES系统中的批次管控功能...
  9. html 图片链接怎么生成器,jQuery接口图片上传自动生成图片链接地址
  10. MapReduce再学习:资源管理框架YARN
  11. Maven server structure problem
  12. 【Dubbo】序列化异常—— com.esotericsoftware.kryo.KryoException: Buffer underflow
  13. 22计算机考研上岸个人经验近万字分享(11408初试360分)
  14. 维特比译码算法(Viterbi decoding algorithm)
  15. win7系统无法更新计算机配置,win7提示无法更新启动配置怎么办
  16. 2021年山东省安全员C证考试题及山东省安全员C证报名考试
  17. av_find_best_stream
  18. 【手把手教你51单片机】三极管在数字电路中的应用
  19. vue使用百度地图,添加线路、站点,简易封装,方便修改(vue使用百度地图实现添加多条线路、多个站点)
  20. TDH 集群的许可证管理机制及TDH集群的卸载与安装

热门文章

  1. mysql date_trunc_com.mysql.jdbc.MysqlDataTruncation: Data trunca...
  2. cudnn 安装失败_Win10下安装tensorflow环境的一些坑
  3. 确定第十五届安徽赛区国赛奖项数量
  4. 全自动STC下载电路设计
  5. int的长度_Java中String长度有限制吗?身边的同事每一个人知道!
  6. 0.5mm的焊锡丝能吃多大电流_BTB/FPC大电流弹片微针模组高度满足FPC连接器测试需求...
  7. 河北传媒学院计算机专业分数线,河北传媒学院2019年各省各专业录取分数
  8. html弹出保存文件对话框_这样操作,3分钟不要就可以在GIS office中轻松导入坐标点文件!...
  9. oracle mysql 适配器_Oracle协议适配器错误解决办法
  10. python 倒计时功能怎么用print实现_python 实现倒计时功能(gui界面)