在网上再三查找,并经过反复试验后,总算是把它配置好了,发现如下几个问题:
1。 Tomcat 5.5.17 的Admin功能很不完善,在JNDI的配置上存在BUG,无法把非全局的DataSource 或ResourceLinks写入%TOMCAT_HOME%/conf/Catalina/localhost/<webname>.xml中;只能手工进行;
2. CLASSPATH配置可能也有问题,Driver包必须放在%TOMCAT_HOME%\common\lib下才能被找到,%TOMCAT_HOME%/shared/lib下不行,甚至在<webname>/WEB-INF/lib下也不能被找到,应该是这个版本的问题,记得以前至少在应用下是能找到的;
总结一下,主要是三个地方要配置:
a. %TOMCAT_HOME%/conf/ 下配置DataSource: 配置server.xml 或 localhost/<webname>.xml
其中server.xml下配置DataSource则可供所有WEB应用使用,
需要在<GlobalNamingResources> 下加上<Resource>项,这个通过Admin页面也可以完成;然后给需要用到的应用中加上<ResourceLink>即可,但只能手工进行
<ResourceLink name="jdbc/<jndiname>" global="jdbc/<jndiname>" type="javax.sql.DataSource"/>, 放在<Context>下;
如果只想给某个程序用,不想配置Server.xml的话,可以只在localhost/<webname>.xml中加上<Resource>,把<Resource>加到<Context>下
<Resource
auth="Container"
description="DB Connection"
name="jdbc/<jndiname>"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
password="<pass>"
maxIdle="2"
maxWait="5000"
username="<user>"
url="jdbc:mysql://localhost/<dbname>"
maxActive="4"/>
b. 在应用的web.xml中配置<resource-ref>
<resource-ref>
<description>EMCenter Database for WEB Applications</description>
<res-ref-name>jdbc/<jndiname></res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
c. 把driver包拷贝到%TOMCAT_HOME%/common/lib/下,应该是最简配置了,有兴趣的可以继续试验,留意看logs/目录下的日志记录能加快进程。其实Admin要是能改进一下最好了,这样太麻烦
另: 有些不解的是,我用的sqltags包(jstl.jar,standard.jar)放在WEB-INF/lib下却能被找到,测试代码如下:
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<sql:query var="rs" dataSource="jdbc/<jndiname>">
select * from <tablename>
</sql:query>
<html>
<head>
<title>DB Test</title>
</head>
<body>
<h2>Results</h2>
<c:forEach var="row" items="${rs.rows}">
ID ${row.id}<br/>
name ${row.name}<br/>
</c:forEach>
</body>
</html>
1。 Tomcat 5.5.17 的Admin功能很不完善,在JNDI的配置上存在BUG,无法把非全局的DataSource 或ResourceLinks写入%TOMCAT_HOME%/conf/Catalina/localhost/<webname>.xml中;只能手工进行;
2. CLASSPATH配置可能也有问题,Driver包必须放在%TOMCAT_HOME%\common\lib下才能被找到,%TOMCAT_HOME%/shared/lib下不行,甚至在<webname>/WEB-INF/lib下也不能被找到,应该是这个版本的问题,记得以前至少在应用下是能找到的;
总结一下,主要是三个地方要配置:
a. %TOMCAT_HOME%/conf/ 下配置DataSource: 配置server.xml 或 localhost/<webname>.xml
其中server.xml下配置DataSource则可供所有WEB应用使用,
需要在<GlobalNamingResources> 下加上<Resource>项,这个通过Admin页面也可以完成;然后给需要用到的应用中加上<ResourceLink>即可,但只能手工进行
<ResourceLink name="jdbc/<jndiname>" global="jdbc/<jndiname>" type="javax.sql.DataSource"/>, 放在<Context>下;
如果只想给某个程序用,不想配置Server.xml的话,可以只在localhost/<webname>.xml中加上<Resource>,把<Resource>加到<Context>下
<Resource
auth="Container"
description="DB Connection"
name="jdbc/<jndiname>"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
password="<pass>"
maxIdle="2"
maxWait="5000"
username="<user>"
url="jdbc:mysql://localhost/<dbname>"
maxActive="4"/>
b. 在应用的web.xml中配置<resource-ref>
<resource-ref>
<description>EMCenter Database for WEB Applications</description>
<res-ref-name>jdbc/<jndiname></res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
c. 把driver包拷贝到%TOMCAT_HOME%/common/lib/下,应该是最简配置了,有兴趣的可以继续试验,留意看logs/目录下的日志记录能加快进程。其实Admin要是能改进一下最好了,这样太麻烦
另: 有些不解的是,我用的sqltags包(jstl.jar,standard.jar)放在WEB-INF/lib下却能被找到,测试代码如下:
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<sql:query var="rs" dataSource="jdbc/<jndiname>">
select * from <tablename>
</sql:query>
<html>
<head>
<title>DB Test</title>
</head>
<body>
<h2>Results</h2>
<c:forEach var="row" items="${rs.rows}">
ID ${row.id}<br/>
name ${row.name}<br/>
</c:forEach>
</body>
</html>
相关推荐
Tomcat 连接池配置详解 Tomcat 连接池配置是 Web 应用程序中一个非常重要的组件,它负责管理和维护数据库连接,确保数据访问的高速和安全性。本文将详细介绍 Tomcat 连接池配置的步骤和原理,帮助读者快速掌握 ...
**标题**: Tomcat连接池配置 **描述**: Tomcat连接池配置涉及到在Apache Tomcat服务器中设置数据源,以便高效地管理和复用数据库连接。这包括对Oracle和MSSQL Server这两种不同类型的数据库进行配置,并在Java应用...
二、Tomcat连接池配置 1. 添加依赖 在Maven项目中,需要在pom.xml文件中添加HikariCP的依赖: ```xml <groupId>com.zaxxer</groupId> <artifactId>HikariCP 版本号 ``` 2. 配置context.xml 在Tomcat的...
### Tomcat连接池配置详解 #### 一、引言 Tomcat是一款开源的Servlet容器,它实现了Servlet和JavaServer Pages (JSP)技术规范,并提供了作为Web服务器的一些特性,但其主要功能是作为应用服务器使用。为了提高Web...
总结来说,配置Tomcat连接池是提升Web应用性能的关键步骤,它涉及到管理界面的操作和配置文件的修改。理解这些参数的意义并根据实际情况进行调整,能够帮助你更好地管理和优化你的数据库连接,提升应用的整体性能。
本资源"tomcat连接池配置方法.rar"提供了一份详细的教程,帮助我们理解如何在Tomcat环境中设置和管理数据库连接池。下面,我们将深入探讨Tomcat连接池的相关知识点。 1. **连接池概念**:连接池是一种对象复用机制...
Tomcat 连接池配置需要在 Maven 项目中添加 Tomcat JDBC 依赖项,并在 application.properties 文件中配置数据库连接信息。下面是 Tomcat 连接池的配置示例: ```xml <!-- Tomcat JDBC 依赖项 --> <groupId>org....
### 二、Tomcat连接池配置详解 #### 1. 修改server.xml文件 Tomcat的server.xml文件位于conf目录下,是Tomcat的核心配置文件,控制着Tomcat的启动、停止以及主要服务的配置。在该文件中,我们可以通过添加`...
总结来说,配置Tomcat连接池是提升Web应用数据库访问性能的重要步骤。通过合理配置连接池参数,可以有效管理数据库连接,避免资源浪费,提升系统整体性能。同时,持续监控和优化连接池设置是保持系统高效运行的关键...