由于直接编辑server.xml配置连接池很容易出现错误,我估计是tomcat版本问题,没个版本可能配置有点点差别,所以我建议使用在http://localhost/admin/中进行数据源的配置,下载tomcat的admin包,安装过程如下
下载下来进行解压,得到三个文件,和两个包,一个叫conf包,另外一个叫做server包。
接着进行安装:那三个单独的文件不用管;把conf\Catalina\localhost\下面的一个配置文件admin.xml放在你tomcat安装目录下面的Tomcat 5.5\conf\Catalina\localhost\这个路径下,即跟host-manage.xml,manager.xml放在一起;再把server\webapps\下面的admin包拷贝到你的tomcat安装目录下的Tomcat 5.5\server\webapps\这个路径下面跟host-manager,manager包放在一块。
在conf\Catalina\localhost\下要建立一个跟自己项目名字一样的.xml文件,内容为
- <?xml version="1.0" encoding="UTF-8"?>
- <Context>
- <Resource
-
name="jdbc/oracle"
-
type="javax.sql.DataSource"
-
driverClassName="oracle.jdbc.driver.OracleDriver"
-
password="limeng"
-
maxIdle="2"
-
maxWait="5000"
-
username="limeng"
-
url="jdbc:oracle:thin:@192.168.1.134:1521:zhpt"
-
maxActive="4"/>
- <ResourceLink
-
global="jdbc/feng"
-
name="jdbc/feng"
-
type="javax.sql.DataSource"/>
- </Context>
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource
name="jdbc/oracle"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
password="limeng"
maxIdle="2"
maxWait="5000"
username="limeng"
url="jdbc:oracle:thin:@192.168.1.134:1521:zhpt"
maxActive="4"/>
<ResourceLink
global="jdbc/feng"
name="jdbc/feng"
type="javax.sql.DataSource"/>
</Context>
安装搞定,重新启动tomcat,在地址栏输入http://localhost/admin/,在出现的截面里面输入你安装tomcat的时候你输入的用户名和密码。
登录成功后,会出现Tomcat 的web应用管理界面(Tomcat Web Server Administration Tool)。
然后在左边的目录树点击“Data Sources”项,右边可以看到JNDI配置的页面。
在右上角的下拉框中选择“Create New Data Source”,接下来填写配置信息:
JNDI Name: jdbc/feng /*连接池的名称*/
Data Source URL: jdbc:mysql://localhost:3306/bbs /*bbs为数据库的名称*/
JDBC Driver Class: com.mysql.jdbc.Driver
User Name: root
Password: feng
Max. Active Connections: 可用默认值
Max. Idle Connections: 可用默认值
Max. Wait for Connection: 可用默认值
Validation Query: 可不填写。
然后,按下“save”按钮保存。
再按下“Commit Changes”按钮将配置更改提交完成。
下面这步比较重要,不加就会出现错误
在<Context></Context>的描述中加上本web应用对全局连接池的引用说明,如下文字:
- <ResourceLink global="jdbc/feng" name="jdbc/feng" type="javax.sql.DataSource"/>
<ResourceLink global="jdbc/feng" name="jdbc/feng" type="javax.sql.DataSource"/>
一般都是加在虚拟目录里
类似下面
- <Context
-
crossContext="true"
-
docBase="D:/feng"
-
path="/feng"
-
reloadable="true">
-
-
-
<ResourceLink global="jdbc/feng" name="jdbc/feng" type="javax.sql.DataSource"/>
- </Context>
<Context
crossContext="true"
docBase="D:/feng"
path="/feng"
reloadable="true">
<ResourceLink global="jdbc/feng" name="jdbc/feng" type="javax.sql.DataSource"/>
</Context>
上面完成后,还需要配置对应虚拟目录WEB应用的web.xml
内容可以参考下面
- <web-app>
- <resource-ref>
- <description>MySQL DataSource example</description>
- <res-ref-name>jdbc/feng</res-ref-name>
- <res-type>javax.sql.DataSource</res-type>
- <res-auth>Container</res-auth>
- </resource-ref>
- </web-app>
<web-app>
<resource-ref>
<description>MySQL DataSource example</description>
<res-ref-name>jdbc/feng</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
保存D:\feng\WEB-INF\web.xml 文件
应用示例
- <%@ page import="java.io.*,java.util.*,java.sql.*,javax.sql.*,javax.naming.*"%>
-
<%@ page contentType="text/html; charset=GB2312"%>
- <html>
- <head><title>DataSourse Connection Test</title></head>
- <body>
- <%
-
try{
- Connection con;
- Statement stmt;
- ResultSet rs;
-
-
Context ctx = new InitialContext();
-
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/feng");
- con=ds.getConnection();
-
- stmt=con.createStatement();
-
rs=stmt.executeQuery("select * from user");
-
while(rs.next()){
-
out.println(rs.getString(1));
- %>
- <br>
-
- <%
-
-
out.print(rs.getString(2));
- }
- rs.close();
- stmt.close();
- con.close();
-
-
}catch(Exception e){
- out.print(e.getMessage());
- }
-
- %>
-
- </body>
- </html>
<%@ page import="java.io.*,java.util.*,java.sql.*,javax.sql.*,javax.naming.*"%>
<%@ page contentType="text/html; charset=GB2312"%>
<html>
<head><title>DataSourse Connection Test</title></head>
<body>
<%
try{
Connection con;
Statement stmt;
ResultSet rs;
Context ctx = new InitialContext();
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/feng");
con=ds.getConnection();
stmt=con.createStatement();
rs=stmt.executeQuery("select * from user");
while(rs.next()){
out.println(rs.getString(1));
%>
<br>
<%
out.print(rs.getString(2));
}
rs.close();
stmt.close();
con.close();
}catch(Exception e){
out.print(e.getMessage());
}
%>
</body>
</html>
分享到:
相关推荐
此文档主要是tomcat中MySQL连接池配置 - feng - BlogJava
### Tomcat与MySQL连接池的配置详解 #### 一、引言 在Java Web开发过程中,数据库连接管理是一项至关重要的任务。为了提高系统的性能和稳定性,通常会采用连接池技术来管理和复用数据库连接资源。本文将详细介绍...
根据Tomcat官方网站做的Tomcat-Mysql连接池配置实例。里面有用到的所有的包,还有context.xml,web.xml,test.jsp等。 mysql-connector-java-5.1.8-bin.jar 放到D:\Program Files\apache-tomcat-6.0.16\lib下,我用的...
通过上述步骤,我们可以成功地在Tomcat服务器中配置好MySQL连接池,这对于提高Web应用的数据库访问效率具有重要意义。当然,在实际部署过程中还需要根据具体的应用场景进行调整优化。希望本文能为各位开发者在日常...
**标题**: Tomcat连接池配置 **描述**: Tomcat连接池配置涉及到在Apache Tomcat服务器中设置数据源,以便高效地管理和复用数据库连接。这包括对Oracle和MSSQL Server这两种不同类型的数据库进行配置,并在Java应用...
根据题目提供的信息,我们将详细介绍如何在Tomcat6环境中配置MySQL连接池。 ### 1. 配置context.xml `context.xml`文件位于Tomcat安装目录下的`conf`文件夹中。在这个文件中,可以通过`<Resource>`元素定义数据源...
如果希望连接池只对特定应用生效,可以在`WEB-INF`目录下的`web.xml`文件中配置。将全局资源引用到应用的`DataSource`,如下: ```xml <!-- 其他配置 --> <description>DB Connection Pool <res-ref-name>...
本文将详细探讨Tomcat连接池的配置,包括其原理、配置步骤以及优化策略。 一、连接池原理 连接池是一种资源管理技术,用于存储数据库连接。它预先创建一定数量的数据库连接,当应用程序需要时可以从池中获取,使用...
MySQL和Tomcat是Java Web开发中常用的数据库管理系统和应用服务器,它们之间的连接池配置是确保高效数据访问的关键。本文将详细介绍如何配置MySQL与Tomcat的连接池,以便在Java应用程序中实现优化的数据交互。 首先...
本篇文章将详细介绍如何在Tomcat中配置数据源连接池,以及涉及的相关jar包文件。 首先,理解数据源(DataSource)的概念。数据源是一个接口,用于管理数据库连接,它提供了一种在多个线程或应用之间共享数据库连接...
Tomcat 连接池配置需要在 Maven 项目中添加 Tomcat JDBC 依赖项,并在 application.properties 文件中配置数据库连接信息。下面是 Tomcat 连接池的配置示例: ```xml <!-- Tomcat JDBC 依赖项 --> <groupId>org....
本篇文章将深入探讨如何在Tomcat中配置数据连接池。 首先,我们要了解数据连接池的工作原理。数据连接池在初始化时会创建一定数量的数据库连接并存储在池中,当应用需要连接数据库时,可以从池中获取已存在的连接,...
本文将详细讲解在Tomcat中配置数据库连接池的几种常见方法,帮助开发者实现高效、稳定的数据库访问。 一、Apache Commons DBCP Apache Commons DBCP是Apache组织提供的一款开源数据库连接池组件,它基于Jakarta-...
本篇将深入探讨如何在Tomcat 6中配置并使用MySQL的连接池。 首先,理解连接池的基本原理。数据库连接池是在应用启动时预创建一定数量的数据库连接,然后在应用程序需要时从池中获取连接,用完后归还给池,而不是...
本文将详细介绍如何在Tomcat中配置MySQL的数据连接池,帮助初学者快速掌握这一技能。 #### 二、配置步骤详解 下面是具体的配置步骤: ##### 第一步:配置全局的数据源 1. **复制MySQL驱动到Tomcat的lib目录** - ...
Tomcat 中配置 MySQL 数据库连接池 在 Web 开发中,与数据库的连接是必不可少的,而数据库连接池技术很好的优化了动态页与数据库的连接,相比单个连接数据库连接池节省了很大的资源。使用数据库连接池可以将多个...