TOMCAT全局数据源DBCP配置详解:server.xml中的详细步骤
4星 · 超过85%的资源 需积分: 33 19 浏览量
更新于2024-12-23
收藏 32KB DOC 举报
本文主要介绍了如何在Apache Tomcat服务器中配置全局数据源DBCP,以提高数据库连接管理的效率。首先,确保将MySQL的JDBC驱动程序mysql-connector-java-3.1.10-bin.jar放置在Tomcat安装目录下的commons/lib文件夹,以便在启动时自动加载驱动。
配置步骤如下:
1. 在`server.xml`中的`<GlobalNamingResources>`部分,添加一个名为`jdbc/test`的`DataSource`定义,如下所示:
```
<GlobalNamingResources>
...
<Resource name="jdbc/test" type="javax.sql.DataSource"
username="root"
password="tellme"
driverClassName="com.mysql.jdbc.Driver"
maxIdle="10"
maxWait="50"
url="jdbc:mysql://localhost:3306/video"
maxActive="20"/>
</GlobalNamingResources>
```
这里定义了数据源的名字(jdbc/test)、用户名、密码、驱动类名(用于连接MySQL数据库)、最大空闲连接数(maxIdle)、等待连接的最大时间(maxWait)、连接URL以及最大活动连接数(maxActive)。
2. 在每个Web应用的`context.xml`文件中,需要通过`<ResourceLink>`元素与全局数据源进行关联,例如:
```
<Context>
...
<ResourceLink global="jdbc/test" name="jdbc/test"
type="javax.sql.DataSource"/>
</Context>
```
这样,每个Web应用都能共享这个全局数据源。
3. 在Java代码中,创建一个名为DBCPConn的公共静态方法,使用`InitialContext`获取数据源并建立连接:
```java
public class DBCPConn {
public static Connection getConnection() throws Exception {
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/test");
return ds.getConnection();
}
}
```
这个方法通过`InitialContext`查找并获取数据源,然后返回连接对象。
4. 在JSP或Servlet中,可以调用`DBCPConn.getConnection()`来获取数据库连接,执行SQL查询后记得关闭连接,如示例所示:
```jsp
<%!
Connection conn = DBCPConn.getConnection();
try {
Statement stmt = conn.prepareStatement("select * from emp");
ResultSet rs = stmt.executeQuery();
// 处理查询结果...
} finally {
conn.close();
}
%>
```
总结来说,通过这种方式,TOMCAT服务器可以更有效地管理和复用数据库连接,减少资源浪费,同时提高了Web应用的性能。对于需要在多个Web应用之间共享数据库连接的场景,全局数据源DBCP是一个理想的选择。
2011-01-07 上传
2008-12-09 上传
2019-03-16 上传
2009-04-08 上传
2021-07-15 上传
2020-09-30 上传
2010-03-24 上传
2012-01-13 上传
2019-03-17 上传
penol
- 粉丝: 10
- 资源: 59
最新资源
- VSS说明及使用方法
- Java认证之精辟总结
- oracle备份与还原数据库
- uml课程设计源代码
- 深入浅出MFC第二版 第三部分(内容介绍)
- MyEclipse+6+Java开发教程[优化整合版].pdf
- 深入浅出MFC第二版 第二部分(内容介绍)
- 深入浅出MFC第二版 第一部分(内容介绍)
- The Long Tail 长尾完整中译版
- 国家标准软件开发规范---数据要求说明书规范.pdf
- 国家标准软件开发规范---数据库设计说明规范.pdf
- dot.net编程专家
- Flex 3 CookBook 简体中文
- LoadRunner函数大全之中文解释
- Oracle数据库10g备份和恢复
- 卡巴斯基病毒处理过程简介