天天看點

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檔案