`
sbpya
  • 浏览: 615952 次
  • 性别: Icon_minigender_1
  • 来自: 杭州,长沙
社区版块
存档分类
最新评论

Tomcat(各种版本) 数据库连接池配置

阅读更多
前言 :
  1  准备 mysql 的 jdbc 驱动程序
  2  安装 Tomcat 默认全部装在 D:\Server\tomcat5.0 D:\Server\tomcat5.5 D:\Server\tomcat6.0
  3  以 TOMCAT_HOME 代替个版本的安装目录
4         将 jdbc 驱动放入 TOMCAT_HOME\ common\lib\ 下面
5         如果是其他数据库的话,就是换一下 jdbc 驱动以及各种参数就可以了的
6         配置 tomcat 数据源时的各种参数的详细介绍
7         其他设置。
1.       Tomcat 4.0
待添加
2.       Tomcat 5.0
2.1    建一个虚拟目录 test  (TOMCAT_HOME\webapps\)
  可以通过 http://localhost:8080/test 访问你的网站了
2.2    配置 Context ( 在 TOMCAT_HOME\conf\Catalina\localhost\ 下 建 test.xm,)
test.xml:
<?xml version="1.0" encoding="utf-8"?>
<Context docBase="dbpool" path="/test" workDir="work\Catalina\localhost\test">
</Context>
2.3    配置 server.xml
server.xml  的内容 : 红色表示加入的 ( 或者通过 http://localhost:8080/admin 进行可视化配置 )
<?xml version='1.0' encoding='utf-8'?>
<Server>
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
  <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 auth="Container" name="jdbc/mysql" 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>4</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>198395</value>
      </parameter>
      <parameter>
        <name>url</name>
        <value>jdbc:mysql://localhost:3306/study?autoReconnect=true</value>
      </parameter>
      <parameter>
        <name>driverClassName</name>
        <value>com.mysql.jdbc.Driver</value>
      </parameter>
      <parameter>
        <name>maxIdle</name>
        <value>2</value>
      </parameter>
      <parameter>
        <name>username</name>
        <value>sa</value>
      </parameter>
    </ResourceParams>
  </GlobalNamingResources>
  <Service name="Catalina">
    <Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="8080" redirectPort="8443" maxSpareThreads="75" maxThreads="150" minSpareThreads="25">
    </Connector>
    <Connector port="8009" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" redirectPort="8443">
    </Connector>
    <Engine defaultHost="localhost" name="Catalina">
      <Host appBase="webapps" name="localhost">
        <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_log." suffix=".txt" timestamp="true"/>
      </Host>
      <Logger className="org.apache.catalina.logger.FileLogger" prefix="catalina_log." suffix=".txt" timestamp="true"/>
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
    </Engine>
  </Service>
</Server>


2.4    配置 虚拟目录命名的 test.xml
test.xml: 红色表示加入的
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="testds" path="/testds" workDir="work\Catalina\localhost\testds">
<Resource name="jdbc/mysql" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/mysql">
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://127.0.0.1:3306/study?useUnicode=true</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.gjt.mm.mysql.Driver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value>198395</value>
</parameter>
</ResourceParams>
</Context>
配置完毕

3.       Tomcat 5.5
3.1    建虚拟目录 test( 在 TOMCAT_HOME/webapp 或者其地方 )
  可以通过 http://localhost:8080/test 访问你的网站了
3.2    配置 server..xml( 或者可以通过 http://localhost:8080/admin 来可视化界面来完成 )
server.xml 内容 红色是加入的内容
<?xml version="1.0" encoding="UTF-8"?>
<Server>
  <Listener className="org.apache.catalina.core.AprLifecycleListener"/>
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
  <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
  <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"
      pathname="conf/tomcat-users.xml"
      factory="org.apache.catalina.users.MemoryUserDatabaseFactory"/>
    <Resource
      name="jdbc/mysql"
      type="javax.sql.DataSource"
      password="198395"
      driverClassName="com.mysql.jdbc.Driver"
      maxIdle="2"
      maxWait="5000"
      username="sa"
      url="jdbc:mysql://localhost:3306/study?autoReconnect=true"
      maxActive="4"/>
  </GlobalNamingResources>
  <Service
      name="Catalina">
    <Connector
        port="8080"
        redirectPort="8443"
        minSpareThreads="25"
        connectionTimeout="20000"
        maxSpareThreads="75"
        maxThreads="150">
    </Connector>
    <Connector
        port="8009"
        redirectPort="8443"
        protocol="AJP/1.3">
    </Connector>
    <Engine
        defaultHost="localhost"
        name="Catalina">
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
      <Host
          appBase="webapps"
          name="localhost">
      </Host>
    </Engine>
  </Service>
</Server>

3.3    配置 Context ( 在 TOMCAT_HOME\conf\Catalina\localhost\ 下 建 test.xml 与项目名字一样 )
  test.xml   红色表示新加入的
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/test" docBase="test" reloadable="true" crossContext="true" debug="0" >
<Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="sa" password="198395" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/study?useUnicode=true"/>
</Context>
4.       Tomcat 6.0

5.       测试用例


DatasourceCon.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Test of Tomcat  connection pool</title>
</head>
<body>
<%
out.print("strat test connection pool!<br/>");
try{
Context initCtx = new InitialContext();
Context ctx = (Context) initCtx.lookup("java:comp/env");
Object obj = (Object) ctx.lookup("jdbc/mysql");
DataSource ds = (javax.sql.DataSource)obj;
Connection conn = ds.getConnection();
out.print("tomcat mysql connection pool runs perfectly!");
conn.close();
}
catch(Exception ex){
out.print(ex.getMessage());
ex.printStackTrace();
}
%>
</body>
</html>

二、配置tomcat连接oracle数据库
2. Tomcat 6.0的  conf\Catalina\localhost 目录下xx.xml文件内容。
    xx名称与工程名一样。

<Context debug="1" docBase="C:\Tomcat 6.0\webapps\myweb" path="/myweb" reloadable="true" workDir="work\Catalina\localhost\myweb">
<Resource name="jdbc/openetdb" auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@111.11.11.111:1521:openet"
username="newdao"
password="123"
maxActive="20"
maxIdle="3"
removeAbandoned="true"
maxWait="3000" />
</Context>

3.拷贝ojdbc14.jar 到 tomcat的lib下
  oracle8i对应的为class12.jar,oracle9i为ojdbc14.jar

4.测试
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="javax.naming.*" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>   
    <title>My JSP 'index.jsp' starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">   
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  </head>
 
  <body>
    This is my JSP page. <br>
    <%
            DataSource ds = null;
 
      
       try
       {
          InitialContext ctx = new InitialContext();
          ds = (DataSource)ctx.lookup("java:comp/env/jdbc/openetdb");
          Connection conn = ds.getConnection();
         
          String strSql = "SELECT  field  from TABLE " ;           

          Statement stmt = conn.createStatement();          
          ResultSet rs = stmt.executeQuery(strSql);                
        
           while(rs.next())
          {                  
              out.println("查出:"+rs.getObject("field"));               
           }                   
           rs.close();
           stmt.close();
           conn.close();              
            
          }catch(Exception ex)
          {
            ex.printStackTrace();     
            out.println(ex);       
         
          }
   
     %>
  </body>
</html>
 
另外通过研究还有一种方法配置数据库 以oracle为例:
1.配置%TOMCAT_HOME%\conf\server.xml

   <GlobalNamingResources>
      <Resource name="jdbc/openetdb"
          global="jdbc/openetdb"
          auth="Container"
          type="javax.sql.DataSource"
          password="111"
          driverClassName="oracle.jdbc.driver.OracleDriver"
          maxIdle="2"
          maxWait="5000"
          username="abc"
         url="jdbc:oracle:thin:@111.11.11.111:1521:SID"
         maxActive="4"/>
        
  </GlobalNamingResources>
2.然后,在ROOT\WEB-INF\web.xml中<web-app>和</web-app>之间添加

<resource-ref>
  <description>DataSource</description>
  <res-ref-name>jdbc/openetdb</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
  </resource-ref>

3.最后在%TOMCAT_HOME%\conf\content.xml里面配置当前应用程序的连接:

  <ResourceLink
              name="jdbc/openetdb"
              type="javax.sql.DataSource"
              global="jdbc/openetdb"/>
分享到:
评论

相关推荐

    Tomcat5的数据库连接池配置Tomcat5的数据库连接池配置

    ### Tomcat5的数据库连接池配置详解 #### 引言 在Java Web开发中,数据库连接池是一项关键的技术,能够显著提升应用性能和资源利用效率。对于Tomcat5这一历史较为悠久但依然在某些场景中活跃的服务器软件,正确...

    Tomcat服务器配置及数据库连接池配置(个人整理版)

    ### Tomcat服务器配置及数据库连接池配置详解 #### 一、Tomcat服务器配置与环境搭建 ##### 1. JDK安装与配置 - **系统环境**:Windows 2003 Server SP3。 - **JDK路径设置**: - `JAVA_HOME` 设置为 `C:\JDK`。 ...

    Tomcat连接池配置.doc

    Tomcat 连接池配置详解 Tomcat 连接池配置是 Web 应用程序中一个非常重要的组件,它负责管理和维护数据库连接,确保数据访问的高速和安全性。本文将详细介绍 Tomcat 连接池配置的步骤和原理,帮助读者快速掌握 ...

    tomcat中配置数据库连接池

    Tomcat 中配置数据库连接池 在 Tomcat 服务器中配置数据库连接池是一个非常重要的步骤,它可以提高应用程序的性能和可靠性。在这篇文章中,我们将详细介绍如何在 Tomcat 目录下面的 Context.xml 配置文件中配置...

    tomcat数据库连接池配置网上文章&csdn上的代码.rar

    tomcat数据库连接池配置网上文章&csdn上的代码tomcat数据库连接池配置网上文章&csdn上的代码tomcat数据库连接池配置网上文章&csdn上的代码tomcat数据库连接池配置网上文章&csdn上的代码tomcat数据库连接池配置网上...

    TOMCAT数据库连接池配置说明文档

    《TOMCAT数据库连接池配置详解》 TOMCAT数据库连接池配置是Java Web开发中不可或缺的一环,它能够有效地管理和优化数据库连接,提高系统性能。以下是对TOMCAT数据库连接池配置的详细说明。 首先,你需要下载TOMCAT...

    tomcat数据库连接池配置

    ### Tomcat 数据库连接池配置详解 在Java Web开发中,Tomcat作为一款广泛使用的应用服务器,其数据库连接池配置是十分重要的一个环节。合理的配置能够显著提高应用程序的性能和稳定性。本文将以MySQL数据库为例,...

    tomcat6配置数据库连接池代码

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

    tomcat 5.5.28配置数据库连接池

    标题中的“Tomcat 5.5.28配置数据库连接池”是指在Apache Tomcat服务器的这个特定版本中,如何设置一个数据库连接池以优化数据库访问性能。数据库连接池是应用服务器管理数据库连接的一种机制,它能有效地复用数据库...

    tomcat配置数据库连接池

    使用tomcat配置java数据库连接池

    tomcat 数据库连接池配置的jar包

    在Tomcat中实现数据库连接池,主要依赖于两个Apache Commons库:`commons-dbcp.jar`和`commons-pool.jar`。 `commons-dbcp.jar`是Apache Commons Database Connection Pooling(DBCP)的实现,它提供了一个数据库...

    tomcat6.0配置数据库连接池常见错误解决方案

    ### tomcat6.0配置数据库连接池常见错误解决方案 #### 错误一:Cannot create JDBC driver of class '' for connect URL 'null' **错误表现:** 当尝试启动应用时,可能会遇到以下异常信息: ``` java.sql....

    tomcat6.0数据库连接池驱动

    本文将详细介绍Tomcat 6.0版本中的数据库连接池及其驱动的使用。 首先,我们要明白什么是数据库连接池。数据库连接池是一种在应用程序中管理数据库连接的技术,它在应用启动时创建一定数量的数据库连接,并存储在一...

    数据库连接池配置终极指南

    通过对Tomcat的部署流程和数据库连接池配置的详细介绍,我们可以看到使用现代化的开发工具和技术可以极大地简化开发工作,提升开发效率。在实际操作过程中,遵循最佳实践,利用可用的工具和服务,可以使配置过程变得...

    Tomcat中数据库连接池的配置和使用

    ### Tomcat中数据库连接池的配置与使用 #### 一、引言 在现代Web应用开发中,数据库连接管理是一项非常重要的任务。由于数据库连接是一种昂贵的资源,因此合理管理和复用这些连接对于提高应用程序性能至关重要。...

    Tomcat6.0+MyEclipse6.0+mysql5.0数据库连接池配置!.pdf

    在进行数据库连接池配置时,需要注意以下几点: 1. 确保数据库驱动版本与数据库版本兼容。 2. `maxActive`属性定义了连接池中最大的活跃连接数,要根据应用程序的实际并发需求来设置。 3. `maxIdle`属性定义了连接...

    tomcat数据库连接池配置.TXT

    tomcat数据库连接池配置.TXTtomcat数据库连接池配置.TXTtomcat数据库连接池配置.TXTtomcat数据库连接池配置.TXT

    tomcat_连接池数据库密码加密解密方法

    其中,数据库连接池作为应用程序与数据库之间的桥梁,扮演着关键角色。然而,当数据库的用户名和密码直接硬编码在配置文件(如Tomcat的`server.xml`)中时,这些敏感信息容易被泄露,从而构成安全隐患。因此,实现...

Global site tag (gtag.js) - Google Analytics