`

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

阅读更多
  给出一个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" 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 version='1.0' 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>

分享到:
评论

相关推荐

    tomcat6配置数据库连接池代码

    本文将详细讲解如何在Tomcat6中配置数据库连接池,并以`index.jsp`为例展示如何在Web应用中使用这些配置。首先,我们需要了解数据库连接池的基本概念和常用的连接池实现,如Apache的DBCP或C3P0。这里我们假设使用的...

    JSP数据库连接池连接实例

    在JSP中,常见的数据库连接池实现有C3P0、Apache DBCP、HikariCP和Tomcat JDBC Connection Pool等。这些连接池库提供了API供开发者使用。例如,Tomcat JDBC Connection Pool可以集成到Web应用中,通过配置`context....

    tomcat的数据库连接池使用实例

    本实例是一个简单的数据库连接池的例子 包含所需要的jar包 适合初学数据库连接池的用户学习 本实例使用的是tomcat提供的连接池 index.jsp中写的是连接语句 WEB-INF\lib 方的是jar包 META-INF 下的 context.xml 写的...

    Tomcat连接池配置详解

    配置完成后,Tomcat在启动时会加载这些配置,从而为应用提供预设的数据库连接池。当应用程序需要数据库连接时,可以从连接池中获取,使用完毕后归还,而不是每次都需要创建新的连接。 注意,不同的Tomcat版本和...

    tomcat连接池应用例子

    在这个例子中,我们将探讨如何配置Tomcat连接池以及在JSP程序中使用它。 描述中提到的“简单的通过Tomcat连接池访问mysql数据库的jsp程序例子”,意味着这是一个教学或演示性质的项目,旨在展示如何在JSP页面中通过...

    数据库连接池 使用方法

    在Java Web开发中,Apache Tomcat作为主流的Web服务器之一,提供了内置的数据库连接池功能。通过在`server.xml`文件中配置`&lt;Resource&gt;`元素,可以轻松实现对数据库连接池的支持。 示例代码: ```xml ...

    JNDI的数据库连接池 pdf

    下面通过一个具体的例子来了解如何在Tomcat服务器上配置数据库连接池。 #### 五、配置步骤详解 1. **复制jar包到Tomcat的lib文件夹**:首先需要将所需的数据库驱动jar包拷贝到Tomcat服务器的lib目录下。 2. **...

    一个Demo小例子让你了解数据库连接池实现的4种方式

    在Java开发中,有多种实现数据库连接池的方式,本篇文章将通过一个Demo小例子来详细介绍JdbcPool、JdbcTomcat、JdbcUtilC3P0和JdbcUtilDBCP这四种常见数据库连接池的实现。 1. **JdbcPool**:这是一个简单的自定义...

    一个简单dwr的使用例子,tomcat数据库连接池

    这个例子展示了如何在Web应用程序中使用DWR与Tomcat数据库连接池来实现Ajax交互,从而实现实时的客户端-服务器通信。 首先,我们需要了解DWR的基本工作原理。DWR允许JavaScript在用户的浏览器中直接调用服务器端的...

    使用连接池来进行数据库连接的具体步骤

    首先,我们要理解为什么需要使用数据库连接池。传统的JDBC连接方式会在每次请求时创建新的数据库连接,完成操作后关闭连接。这样的过程会消耗大量的系统资源,尤其是在高并发的环境中。而连接池则预先创建并维护一定...

    tomcat/resin使用全局数据库连接池资源

    在这个例子中,`jdbc/dlog`是全局数据库连接池的名字,其配置参数如`auth`, `type`, `maxActive`, `maxIdle`, `url`等用于定义连接池的行为和属性。 【Resin的数据库连接池配置】 Resin的配置相比Tomcat更为简洁。...

    tomcat配置mysql连接池

    在Java Web应用中,Tomcat作为流行的开源Servlet容器,经常需要与数据库进行交互,而连接池则能有效地管理数据库连接,提高系统性能。本篇文章将详细介绍如何在Tomcat中配置MySQL连接池,以便你的应用程序能够高效、...

    tomcat5.0.x与tomcat5.5.x的配置有较大区别

    首先,数据库连接的配置是Java应用服务器如Tomcat运行基于JDBC的应用程序的关键步骤。在描述中提到的第一步,你需要下载对应数据库(例如SQL Server)的JDBC驱动,并将其放置在Tomcat的共享库目录 `%TOMCAT_HOME%/...

    Tomcat6.0连接池配置

    本篇将详细介绍如何在Tomcat 6.0中配置连接池。 首先,连接池配置主要分为两个步骤:全局配置和应用级别的配置。 ### 全局配置 全局配置是在Tomcat的`conf/server.xml`文件中进行,这使得配置的连接池可以被服务器...

    Tomcat配置jsp连接mysql的连接池方法

    在Java Web开发中,Tomcat作为一款广泛应用的Servlet容器,经常需要配置来管理数据库连接,以提高应用性能和资源利用率。连接池就是一种这样的管理机制,它可以高效地复用数据库连接,避免频繁创建和关闭连接导致的...

    Mysql+tomcat连接池自己的例子

    在这个例子中,我们将探讨如何在Tomcat服务器中配置MySQL数据库连接池,以实现高效的数据访问。 首先,我们需要了解MySQL的JDBC驱动。在提供的文件`mysql-connector-java-3.1.10-bin.jar`中,包含了用于Java应用...

    dataSource数据库连接池的使用)

    本文将详细介绍如何在Tomcat 5.0.1环境中配置和使用数据库连接池,通过具体的示例来帮助读者更好地理解和掌握这一技术。 #### 二、数据库连接池概述 数据库连接池是一种管理多个数据库连接的技术。当应用程序请求...

    Tomcat6.0配置JNDI数据源完整例子(5.5与此配置相同)

    标题中的“Tomcat6.0配置JNDI数据源完整例子”是指在Apache Tomcat 6.0服务器中设置Java Naming and Directory Interface (JNDI)数据源的过程。JNDI是一个API,它允许应用程序查找和使用命名服务,如数据库连接池。...

    tomcat6 mysql连接池

    Tomcat作为一款广泛使用的Java应用服务器,提供了丰富的功能来帮助开发者管理数据库连接,其中就包括连接池的配置。 #### 一、理解Tomcat中的连接池 连接池是一种用于存储、管理和重用预创建数据库连接的技术。...

    tomcat连接池配置使用实例(Sybase 15)

    Tomcat作为一款流行的开源Servlet容器,它支持多种数据库连接池,以提高应用程序的性能和资源管理效率。下面我们将详细介绍配置步骤和相关参数的含义。 首先,为了使Tomcat能够与Sybase数据库通信,我们需要将...

Global site tag (gtag.js) - Google Analytics