天天看点

tomcat5配置 常见数据库连接池的例子

环境: 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,并在此文件的下添入代码:

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

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

    oraDB Connection

    jdbc/ora

    javax.sql.DataSource

    Container

     注意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,并在此文件的下添入代码:

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

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

    sqlserverDB Connection

    jdbc/sqlserver

    javax.sql.DataSource

    Container

     注意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,并在此文件的下添入代码:

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

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

    mysqlDB Connection

    jdbc/sqlmysql

    javax.sql.DataSource

    Container

     注意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 文件 的配置部分

        factory

        org.apache.catalina.users.MemoryUserDatabaseFactory

        pathname

        conf/tomcat-users.xml

        maxWait

        5000

        maxActive

        20

        password

        mysqlconn

        url

        jdbc:mysql://192.168.0.18/mysqldb

        driverClassName

        com.mysql.jdbc.Driver

        maxIdle

        10

        username

        mysqlconn

        maxWait

        5000

        maxActive

        20

        password

        oraconn

        url

        jdbc:oracle:thin:@192.168.0.18:1521:oradb

        driverClassName

        oracle.jdbc.driver.OracleDriver

        maxIdle

        10

        username

        oraconn

        maxWait

        5000

        maxActive

        20

        password

        sqlconn

        url

        jdbc:microsoft:sqlserver://192.168.0.18:1433;DatabaseName=sqldb

        driverClassName

        com.microsoft.jdbc.sqlserver.SQLServerDriver

        maxIdle

        10

        username

        sqlconn

   其中192.168.0.18为数据库服务器IP

.  

   下面是 %CATALINA_HOME%/conf/Catalina/localhost 对应的 xml 文件。  我的应用是test.xml

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

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

"http://java.sun.com/dtd/web-app_2_3.dtd">

My Web Application

        A application for test.

    mysqlDB Connection

    jdbc/mysql

    javax.sql.DataSource

    Container

        sqlserverDB Connection

        jdbc/sqlserver

        javax.sql.DataSource

        Container

    oracleDB Connection

    jdbc/oracle

    javax.sql.DataSource

    Container

        Set Character Encoding

        filters.SetCharacterEncodingFilter

            encoding

            GB2312

        Set Character Encoding

        /*

在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文件

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

     testDSsqlserver.jsp文件

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

     testDSmysql.jsp文件