1.server.xml中
在host标签下增加
<!--configure jndi database pool-->
<Context path="/test_jndi" docBase="D:/softSetup/jakarta-tomcat-5.0.19/webapps/test_jndi" debug="0" reloadable="true" crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_quality_log." suffix=".txt" timestamp="true"/>
<Resource name="jdbc/connectDB" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/connectDB">
<parameter>
<name>maxActive</name>
<!-- Maximum number of DB connections in pool.Set to 0 for no limit. -->
<value>100</value>
</parameter>
<parameter>
<name>maxIdle</name>
<!-- Maximum number of idle DB connections to retain in pool.Set to 0 for no limit. -->
<value>30</value>
</parameter>
<parameter>
<name>maxWait</name>
<!-- Maximum time to wait for a DB connection to become available in ms.An exception is thrown if this timeout is exceeded.Set to -1 to wait indefinitely. -->
<value>10000</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<!-- Abandoned DB connections are removed and recycled -->
<value>true</value>
</parameter>
<parameter>
<name>removeAbandonedTimeout</name>
<!-- Use the removeAbandonedTimeout parameter to set the number of seconds a DB connection has been idle before it is considered abandoned. -->
<value>60</value>
</parameter>
<parameter>
<name>logAbandoned</name>
<!-- Log a stack trace of the code which abandoned -->
<value>false</value>
</parameter>
<parameter>
<name>factory</name>
<!--DBCP Basic Datasource Factory -->
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>username</name>
<!-- Database User Name -->
<value>root</value>
</parameter>
<parameter>
<name>password</name>
<!-- User Password -->
<value>pwd</value>
</parameter>
<parameter>
<name>driverClassName</name>
<!-- Database Driver Class Name -->
<!--<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
<value>oracle.jdbc.driver.OracleDriver</value>
<value>org.gjt.mm.mysql.Driver</value>--> <!---for mysql,both config style are okay-->
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<!-- Database Address -->
<!--<value>jdbc:microsoft:sqlserver://localhost:1433;databasename=test</value>
<value>jdbc:oracle:thin:@localhost:1521:ora8</value>-->
<value>jdbc:mysql://localhost:3306/sample</value>
</parameter>
</ResourceParams>
</Context>
<!--configure jndi database pool-->
注析:
dbcp.maxActive 最大有效的数据库连接数
dbcp.maxIdle 最大空闲的数据库连接数
dbcp.maxWait 数据库连接最大可空闲时间(以毫秒为单位,设为-1则关 闭)
removeAbandoned true 通过配置DBCP数据源中的参数removeAbandoned来保证删除被遗弃的连接使其可以被重新利用。为ResourceParams(见下文的数据源配置)标签添加参数removeAbandoned,通过这样配置的以后当连接池中的有效连接接近用完时DBCP将试图恢复和重用被遗弃的连接。这个参数的值默认是false。
removeAbandonedTimeout 60 通过设置removeAbandonedTimeout来设置被遗弃的连接的超时的时间,即当一个连接连接被遗弃的时间超过设置的时间时那么它会自动转换成可利用的连接。默认的超时时间是300秒。
logAbandoned true 设置logAbandoned参数,这个参数的用处我没能够理解它的意义所以提供原文供大家参考。The logAbandoned parameter can be set to true if you want DBCP to log a stack trace of the code which abandoned the dB connection resources。这个参数默认为false。
2.在web应用web.xml中
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!--add for database pool-->
<resource-ref>
<description>postgreSQL Datasource example</description>
<res-ref-name>jdbc/connectDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<!--add for database pool-->
</web-app>
3.将数据库驱动jar(我的mysql是mysql-connector-java-3.0.11-stable-bin.jar)拷贝到tomcat的common\lib下
4.在web页面应用:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.naming.Context"%>
<%@ page import="javax.naming.InitialContext"%>
<%@ page import="javax.sql.DataSource"%>
<html>
<body>
<%
//Class.forName("org.gjt.mm.mysql.Driver").newInstance();
//String url = "jdbc:mysql://localhost:3306/sample?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1";
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/connectDB");
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try{
conn = ds.getConnection();
out.println("conn is:"+conn+"<br/>");
//testDB为你的数据库名
//Connection conn= DriverManager.getConnection(url);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from t_user where id=3";
rs=stmt.executeQuery(sql);
while(rs.next()) {
out.print("您的第一个字段内容为:"+rs.getString(1)+"<br/>");
out.print("您的第二个字段内容为:"+rs.getString(2)+"<br/>");
}
out.print("数据库操作成功,恭喜你");
}catch(Exception e)
{ out.print(e);
}finally {
// Always make sure result sets and statements are closed,
// and the connection is returned to the pool
if (rs != null) {
try { rs.close(); } catch (SQLException e) { e.printStackTrace(); }
rs = null;
}
if (stmt != null) {
try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); }
stmt = null;
}
if (conn != null) {
try { conn.close(); } catch (SQLException e) { e.printStackTrace(); }
conn = null;
}
}
%>
</body>
</html>
5.在IE里输入:http://localhost:8080/test_jndi/test.jsp
打印:
conn is:org.apache.commons.dbcp.PoolableConnection@167e3a5
您的第一个字段内容为:3
您的第二个字段内容为:t1
数据库操作成功
6.OK ^-^
分享到:
相关推荐
本文将详细讲解如何在Tomcat服务器上配置数据库连接池,以及为何需要使用它。 首先,我们来理解“连接池”是什么。连接池,即Connection Pool,是一种管理数据库连接资源的技术。它允许程序在需要时从池中获取一个...
### Tomcat服务器配置及数据库连接池配置详解 #### 一、Tomcat服务器配置与环境搭建 ##### 1. JDK安装与配置 - **系统环境**:Windows 2003 Server SP3。 - **JDK路径设置**: - `JAVA_HOME` 设置为 `C:\JDK`。 ...
Tomcat 中配置数据库连接池 在 Tomcat 服务器中配置数据库连接池是一个非常重要的步骤,它可以提高应用程序的性能和可靠性。在这篇文章中,我们将详细介绍如何在 Tomcat 目录下面的 Context.xml 配置文件中配置...
本文将详细介绍如何在Tomcat5.0.25版本下配置数据库连接池,并通过具体的步骤、代码示例以及常见问题的解决策略,帮助开发者更好地理解和掌握这一技术。 #### 配置环境与准备 配置环境包括: - **Tomcat版本**:...
Tomcat 6.0数据库连接池驱动的使用,涉及到的主要知识点包括:数据库连接池的概念与作用,Tomcat内置的数据源实现(DBCP和C3P0),数据源的配置方法,JNDI的使用,以及在Java代码中获取和释放数据库连接。...
本文将详细讲解在Tomcat中配置数据库连接池的几种常见方法,帮助开发者实现高效、稳定的数据库访问。 一、Apache Commons DBCP Apache Commons DBCP是Apache组织提供的一款开源数据库连接池组件,它基于Jakarta-...
本文将详细讲解如何在Tomcat6中配置数据库连接池,并以`index.jsp`为例展示如何在Web应用中使用这些配置。首先,我们需要了解数据库连接池的基本概念和常用的连接池实现,如Apache的DBCP或C3P0。这里我们假设使用的...
4. 配置全局数据库连接池 5. 配置局部 SERVLET 信息环境 6. 新建 PoolGlobal.xml 和 PoolLocal.xml 文档 7. 将 classes12.jar 包放在 TOMCAT\common\lib 路径下 8. 在 JAVA 中调用连接池 三、Tomcat 连接池配置的...
标题中的“Tomcat 5.5.28配置数据库连接池”是指在Apache Tomcat服务器的这个特定版本中,如何设置一个数据库连接池以优化数据库访问性能。数据库连接池是应用服务器管理数据库连接的一种机制,它能有效地复用数据库...
配置Tomcat的数据库连接池通常涉及以下步骤: 1. 将`commons-dbcp.jar`和`commons-pool.jar`添加到Tomcat的`lib`目录下,这样Tomcat就可以在整个应用服务器范围内访问这两个库。 2. 创建一个XML配置文件(例如`...
#### 三、配置数据库连接池 接下来,我们来看如何配置Tomcat中的数据库连接池。 ##### 1. 修改`server.xml` 数据库连接池的配置主要是在`server.xml`文件中完成的。该文件通常位于`Tomcat/conf/`目录下。以下是...
本文将详细介绍如何在Tomcat 6中配置数据库连接池,并通过实际案例进行演示。 #### 二、配置步骤详解 ##### 2.1 修改`server.xml`文件 首先,我们需要打开Tomcat安装目录下的`conf`文件夹,找到`server.xml`文件...
本文将详细介绍如何在Tomcat中配置和使用数据库连接池,以及相关的知识点。 首先,我们需要理解数据库连接池的概念。数据库连接池是在应用服务器启动时创建的一组数据库连接,这些连接在应用运行期间可以被多个请求...
Tomcat作为一款广泛使用的Java应用服务器,其数据库连接池的正确配置对于提高系统性能、确保应用稳定运行至关重要。数据库连接池可以有效管理数据库连接资源,减少频繁创建和销毁数据库连接所带来的性能开销。本文将...
Tomcat 数据库连接池设置 Tomcat 数据库连接池是一种高效的数据库连接管理机制,它能够帮助开发者快速建立和管理数据库连接,提高应用程序的性能和可靠性。在本文中,我们将详细介绍 Tomcat 数据库连接池的设置过程...