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,并在此文件的下添入代码:
<resourcelink name="jdbc/oracle" type="javax.sql.DataSourcer" global="jdbc/oracle"></resourcelink>
          3、  修改web.xml和%TOMCAT_HOME%\conf\Catalina\localhost下对应你的引用的配置文件
打开%TOMCAT_HOME%\conf\web.xml,在的前面添加以下内容:
      <resource-ref></resource-ref>
    <description></description>oraDB Connection
    <res-ref-name></res-ref-name>jdbc/ora
    <res-type></res-type>javax.sql.DataSource
    <res-auth></res-auth>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,并在此文件的下添入代码:
<resourcelink name="jdbc/sqlserver" type="javax.sql.DataSourcer" global="jdbc/sqlserver"></resourcelink>
          3、  修改web.xml和%TOMCAT_HOME%\conf\Catalina\localhost下对应你的引用的配置文件
打开%TOMCAT_HOME%\conf\web.xml,在的前面添加以下内容:
      <resource-ref></resource-ref>
    <description></description>sqlserverDB Connection
    <res-ref-name></res-ref-name>jdbc/sqlserver
    <res-type></res-type>javax.sql.DataSource
    <res-auth></res-auth>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,并在此文件的下添入代码:
<resourcelink name="jdbc/mysql" type="javax.sql.DataSourcer" global="jdbc/mysql"></resourcelink>
          3、  修改web.xml和%TOMCAT_HOME%\conf\Catalina\localhost下对应你的引用的配置文件
打开%TOMCAT_HOME%\conf\web.xml,在的前面添加以下内容:
      <resource-ref></resource-ref>
    <description></description>mysqlDB Connection
    <res-ref-name></res-ref-name>jdbc/sqlmysql
    <res-type></res-type>javax.sql.DataSource
    <res-auth></res-auth>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 文件 的配置部分
     <globalnamingresources></globalnamingresources>
    <environment name="simpleValue" type="java.lang.Integer" value="30"></environment>
    <resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved"></resource>
    <resource name="jdbc/mysql" type="javax.sql.DataSource"></resource>
    <resource name="jdbc/oracle" type="javax.sql.DataSource"></resource>
    <resource name="jdbc/sqlserver" type="javax.sql.DataSource"></resource>
    <resourceparams name="UserDatabase"></resourceparams>
      <parameter></parameter>
        <name></name>factory
        <value></value>org.apache.catalina.users.MemoryUserDatabaseFactory
     
      <parameter></parameter>
        <name></name>pathname
        <value></value>conf/tomcat-users.xml
     
   
    <resourceparams name="jdbc/mysql"></resourceparams>
      <parameter></parameter>
        <name></name>maxWait
        <value></value>5000
     
      <parameter></parameter>
        <name></name>maxActive
        <value></value>20
     
      <parameter></parameter>
        <name></name>password
        <value></value>mysqlconn
     
      <parameter></parameter>
        <name></name>url
        <value></value>jdbc:mysql://192.168.0.18/mysqldb
     
      <parameter></parameter>
        <name></name>driverClassName
        <value></value>com.mysql.jdbc.Driver
     
      <parameter></parameter>
        <name></name>maxIdle
        <value></value>10
     
      <parameter></parameter>
        <name></name>username
        <value></value>mysqlconn
     
   
    <resourceparams name="jdbc/oracle"></resourceparams>
      <parameter></parameter>
        <name></name>maxWait
        <value></value>5000
     
      <parameter></parameter>
        <name></name>maxActive
        <value></value>20
     
      <parameter></parameter>
        <name></name>password
        <value></value>oraconn
     
      <parameter></parameter>
        <name></name>url
        <value></value>jdbc:oracle:thin:@192.168.0.18:1521:oradb
     
      <parameter></parameter>
        <name></name>driverClassName
        <value></value>oracle.jdbc.driver.OracleDriver
     
      <parameter></parameter>
        <name></name>maxIdle
        <value></value>10
     
      <parameter></parameter>
        <name></name>username
        <value></value>oraconn
     
   
    <resourceparams name="jdbc/sqlserver"></resourceparams>
      <parameter></parameter>
        <name></name>maxWait
        <value></value>5000
     
      <parameter></parameter>
        <name></name>maxActive
        <value></value>20
     
      <parameter></parameter>
        <name></name>password
        <value></value>sqlconn
     
      <parameter></parameter>
        <name></name>url
        <value></value>jdbc:microsoft:sqlserver://192.168.0.18:1433;DatabaseName=sqldb
     
      <parameter></parameter>
        <name></name>driverClassName
        <value></value>com.microsoft.jdbc.sqlserver.SQLServerDriver
     
      <parameter></parameter>
        <name></name>maxIdle
        <value></value>10
     
      <parameter></parameter>
        <name></name>username
        <value></value>sqlconn
     
   
 
   其中192.168.0.18为数据库服务器IP
.  
   下面是 %CATALINA_HOME%\conf\Catalina\localhost 对应的 xml 文件。  我的应用是test.xml
    <!---->
<context displayname="My Web Application" docbase="test" workdir="work\Catalina\localhost\test" path="/test"></context>
  <resourcelink name="jdbc/mysql" type="javax.sql.DataSourcer" global="jdbc/mysql"></resourcelink>
  <resourcelink name="jdbc/sqlserver" type="javax.sql.DataSourcer" global="jdbc/sqlserver"></resourcelink>
  <resourcelink name="jdbc/oracle" type="javax.sql.DataSourcer" global="jdbc/oracle"></resourcelink>

   以下是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">
<web-app></web-app>
<display-name></display-name>My Web Application
<description></description>
        A application for test.

<!---->
<resource-ref></resource-ref>
    <description></description>mysqlDB Connection
    <res-ref-name></res-ref-name>jdbc/mysql
    <res-type></res-type>javax.sql.DataSource
    <res-auth></res-auth>Container

<!---->
<!---->
<resource-ref></resource-ref>
        <description></description>sqlserverDB Connection
        <res-ref-name></res-ref-name>jdbc/sqlserver
        <res-type></res-type>javax.sql.DataSource
        <res-auth></res-auth>Container

<!---->
<!---->
<resource-ref></resource-ref>
    <description></description>oracleDB Connection
    <res-ref-name></res-ref-name>jdbc/oracle
    <res-type></res-type>javax.sql.DataSource
    <res-auth></res-auth>Container

<!---->
  <!---->
    <filter></filter>
        <filter-name></filter-name>Set Character Encoding
        <filter-class></filter-class>filters.SetCharacterEncodingFilter
        <init-param></init-param>
            <param-name></param-name> encoding
            <param-value></param-value> GB2312
       
   
<filter-mapping></filter-mapping>
        <filter-name></filter-name>Set Character Encoding
        <url-pattern></url-pattern>/*


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



<!---->



你可能感兴趣的:(数据结构,oracle,mysql,jdbc,配置管理)