感谢原作者,以下转载自
http://gstarwd.iteye.com/blog/542845
第一: 首先声明,这些配置过程只适合Tomcat6.0,因为Tomcat6.0以下的版本,配置过程有那么一点不一样!Tomcat6.0数据库连接池配置的更加灵活(个人观点).
第一种方式:1.把context.xml(这个文件名字不能改,新建文件context.xml)文件建到你的工程根目录下META-INF文件下,这是因为你如果想换别的数据库连接池方式可以修改这个文件就OK了,(低版本的好像的去Tomcat目录下的config文件修改server.xml , 本人认为这样比较死板,这也是因为Tomcat6.0配置更加灵活之处,但是6.0也可以去修改server.xml这个文件,本人觉的用第一种方法比较好,如果想试下,可以自己去看一看配置方式).
代码: Xml代码
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/studentproject" docBase="studentproject"
debug="5" crossContext="true" reloadable="true"
cachingAllowed="true" cacheMaxSize="20480"
cacheTTL="10000">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource
name="jdbc/test"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/bbs?autoReconnect=true"
username="root"
password="root"
maxActive="20"
maxIdle="10"
maxWait="-1" />
</Context>
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/studentproject" docBase="studentproject"
debug="5" crossContext="true" reloadable="true"
cachingAllowed="true" cacheMaxSize="20480"
cacheTTL="10000">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource
name="jdbc/test"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/bbs?autoReconnect=true"
username="root"
password="root"
maxActive="20"
maxIdle="10"
maxWait="-1" />
</Context>
下边解释几个主要属性:
path="/studentproject"; studentproject 这是我的工程名字,这里要写上你自己工程名字;
docBase="studentproject" 同理;
reloadable="true"------>自动加载;
name="jdbc/test"------>数据源的名字其格式不能错jdbc/name,其中test可以自己定
别的不多说了自己看一看应该会明白的.
2.修改你工程目录文件WEB-INF下的web.xml文件(注意是你的工程目录下的).
代码如下:
Xml代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<resource-ref>
<description>DB Connections</description>
<res-ref-name>jdbc/test</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<resource-ref>
<description>DB Connections</description>
<res-ref-name>jdbc/test</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
注意:
<res-ref-name>jdbc/test</res-ref-name>中间的名字一定要和你name="jdbc/test"名字一样;
这样基本的配置算上完成了,但一定要记得把你的MYSQL5.0驱动jar包考到Tomcat6.0 的lib文件下!
下边写个测试代码:
Java代码
<%@ page language="java" pageEncoding="UTF-8"%>
<%@page contentType="text/html; charset=UTF-8"%>
<%@page import="java.sql.*" %>
<%@page import="javax.naming.*" %>
<%@page import="javax.sql.DataSource" %>
<head>
<title>Tomcat6.0 JNDI 测试!</title>
</head>
<body>
This is my JSP page. <br>
JNDI配置测试开始 ... <br>
<%
try {
//初始化 Context 上下文对象;
Context ctx = new InitialContext();
Context envContext = (Context)ctx.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/test"); //查找配置
//方法二:
//DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mysql");
Connection conn = ds.getConnection();
conn.close();
out.println("JNDI数据源配置成功了");
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
%>
</body>
</html>
<%@ page language="java" pageEncoding="UTF-8"%>
<%@page contentType="text/html; charset=UTF-8"%>
<%@page import="java.sql.*" %>
<%@page import="javax.naming.*" %>
<%@page import="javax.sql.DataSource" %>
<head>
<title>Tomcat6.0 JNDI 测试!</title>
</head>
<body>
This is my JSP page. <br>
JNDI配置测试开始 ... <br>
<%
try {
//初始化 Context 上下文对象;
Context ctx = new InitialContext();
Context envContext = (Context)ctx.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/test"); //查找配置
//方法二:
//DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mysql");
Connection conn = ds.getConnection();
conn.close();
out.println("JNDI数据源配置成功了");
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
%>
</body>
</html>
完了打开你的IE:http://localhost:8080/studentproject/MyJsp.jsp 这是我的测试地址,成功后会看到如下信息:
这是Tomcat6.0数据库连接池测试!!
JNDI配置测试开始 ...
JNDI数据源配置成功了
分享到:
相关推荐
在进行数据库连接池配置时,需要注意以下几点: 1. 确保数据库驱动版本与数据库版本兼容。 2. `maxActive`属性定义了连接池中最大的活跃连接数,要根据应用程序的实际并发需求来设置。 3. `maxIdle`属性定义了连接...
在本文中,我们将讨论使用连接池技术时的配置,特别是关于 Tomcat、MySQL 和 Eclipse 的数据库连接池配置。 一、开发工具介绍 为了配置连接池,我们需要使用以下开发工具: * Tomcat 5.5.2 作为我们的应用服务器 ...
在实际应用中,你可能还会遇到其他类型的数据库,如MySQL、Oracle或PostgreSQL等,它们的配置流程大体相似,但具体细节会有所不同。掌握数据源配置的基本原理和步骤,将有助于你在面对各种数据库环境时都能游刃有余...
在MyEclipse中,可以通过“New” -> “Server”来创建和配置服务器实例,然后在服务器的配置中添加数据库连接池的配置。 通过以上步骤,你可以在MyEclipse中成功建立到MySQL的连接,从而方便地进行数据库开发工作。...
5. **优化与最佳实践**:为了提高性能和避免资源泄露,可以使用连接池管理数据库连接,如Apache的DBCP或C3P0。此外,使用PreparedStatement代替Statement,能有效防止SQL注入攻击,并提供更好的预编译性能。 在...
本篇文章将详细讲解如何配置Tomcat 6.0、MyEclipse 6.0以及MySQL 5.0的数据连接池。 首先,我们需要了解数据库连接池的作用。连接池在应用程序启动时创建一定数量的数据库连接,当应用程序需要访问数据库时,可以从...
- 连接池配置:包括最大、最小连接数,超时时间等参数,可灵活配置以适应不同场景。 - 连接池监控:提供监控工具,可以查看当前连接池状态,如活动连接数、等待连接数等。 - 断线检测:定期检查连接的有效性,...
在本文中,我们将详细探讨如何配置Tomcat 6.0、MyEclipse 6.0以及MySQL 5.0的数据库连接池。首先,我们理解这个配置过程的重要性,因为一个有效的数据库连接池管理能提高应用的性能和资源利用效率。 **配置步骤** ...
本篇将详细讲解如何在Tomcat6.0中,结合MyEclipse6.0集成开发环境以及MySQL5.0数据库,进行数据库连接池的配置。 首先,Tomcat6.0相较于早期版本在配置方面更加灵活,特别是数据库连接池的配置。一种常见的方式是...
在IT行业中,数据库管理和开发是至关重要的环节,尤其是在使用集成开发环境(IDE)如MyEclipse进行Java项目开发时。本篇文章将详细讲解...在实际项目中,还要考虑异常处理、连接池的使用以及SQL优化等更高级的话题。
下面我们将深入探讨基于SSH的Proxool连接池配置。 首先,配置环境:MyEclipse5.5,Windows 2003操作系统,Oracle和MySQL数据库。在这样的环境中,Proxool连接池可以帮助我们更高效地管理数据库连接,提高应用程序的...
注意,上述步骤仅是基本配置,实际环境中可能需要根据应用需求进行调整,比如添加事务管理、错误处理、连接池参数优化等。同时,安全方面也需要考虑,例如避免硬编码数据库连接信息,使用加密的密码存储等。 总结来...
在MyEclipse中配置这些连接池也很简单,通常只需在项目中引入相应的库,并在配置文件(如`context.xml`或`persistence.xml`)中设置相应的属性。 总结,MyEclipse通过集成JDBC提供了一种直观的方式连接数据库,进行...
同时,对于大型项目,可能还需要考虑数据库连接池的配置和使用,如C3P0、DBCP或HikariCP,它们可以更有效地管理数据库连接,提高应用性能。 总之,理解并熟练掌握MyEclipse与JSP连接数据库的过程,对于Java Web...
6. **最佳实践**:在实际开发中,建议使用连接池管理数据库连接,例如Apache的DBCP或C3P0,这有助于提高性能和资源利用率。此外,还可以使用DAO(数据访问对象)模式和PreparedStatement来提高代码的可读性和安全性...