这几天,老师要让我负责数据库连接池,之前配置的连接池是在tomcat6.x中,是全局的,但老师要求我们要局部的,这样方便将来修改容易。
网上查资料查了很多,现在整理下。我的是在tomcat6.x中配置的
1、配置 context.xml文件将,放在工程的META-INF目录下,注意不是在WEB-INF下。
其中<context 里的path等可以有,也可以无
<Context
path="/spp" docBase="spp"
debug="5" reloadable="true" crossContext="true" >
<Resource name="jdbc/mysqlds"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/spms?autoReconnect=true"
username="root"
password=""
maxActive="100"
maxIdle="30"
maxWait="10000"
/>
</Context>
2、在WEB-INF下的web.xml中添加如下代码,这段可有可无
<resource-ref>
<description>MySQL DataSource</description>
<res-ref-name>jdbc/mysqlds</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
3、不要忘了加驱动jar包mysql-connector-java-5.1.12-bin.jar
放在WebRoot/WEB-INF/lib/下
4、测试代码
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%>
<%@ page import="java.sql.*" %>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.sql.DataSource" %>
<%
try
{
//初始化Context
Context initCtx = new InitialContext();
System.out.println(initCtx);
Context envCtx = (Context)initCtx.lookup("java:comp/env");
System.out.println(envCtx);
DataSource ds = (DataSource)envCtx.lookup("jdbc/mysqlds");
System.out.println(ds);
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
//获取服务器端时间,适用于MySQL(还有current_time(),current_date()等)
//MS SQLServer为getDate()
String strSQL = "select current_timestamp()";
ResultSet rs = stmt.executeQuery(strSQL);
rs.next();
Timestamp date = rs.getTimestamp(1);
out.print(date.toString());
rs.close();
stmt.close();
conn.close();
}catch(Exception e)
{
out.print("错误"+e.getMessage());
}
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>test</title>
</head>
<body>
</body>
</html>
[b][/b]测试成功显示日期
其实上面的配置和全局配置的一样,只是将context.xml配置文件从tomcat中放到工程的META-INF目录下罢了
分享到:
相关推荐
Tomcat7 是一个基于 Java 的开源 Web 服务器软件,它可以与 MySQL 数据库集成,通过连接池机制来提高数据库访问效率。在本文中,我们将详细介绍 Tomcat7 和 MySQL 连接池的配置方法和测试步骤。 设计测试用的数据库...
总结,Tomcat连接池的配置是优化数据库性能的关键步骤,理解全局与局部配置的区别,以及可能遇到的错误类型,可以帮助开发者更好地管理和优化数据库连接,提升应用的响应速度和稳定性。通过实际的测试源码,可以直观...
Tomcat7 和 MySQL 连接池的配置方法和测试 Tomcat7 是一个流行的开源 Java Web 服务器,可以与 MySQL 等关系数据库管理系统集成,使用连接池来提高数据库访问效率。在本文档中,我们将详细介绍 Tomcat7 和 MySQL ...
全局数据源适用于多个Web应用共享同一个数据库连接池的场景。这种方式需要在Tomcat服务器级别的`conf/server.xml`文件中进行配置。 1. **添加数据源节点**:在`server.xml`的`<GlobalNamingResources>`标签内,添加...
本压缩包文件“配置连接池的文件.rar”显然是为了帮助用户设置和管理数据库连接池。下面将详细讲解其中包含的各个文件及其对应的知识点。 1. **mysql-connector-java-3.1.10-bin.jar**:这是一个MySQL数据库驱动...
配置JNDI数据源允许应用与数据库交互,而无需在代码中硬编码数据库连接信息。以下是Tomcat 5.5及以上版本配置JNDI数据源的详细步骤和方法。 1. **添加JDBC驱动**: 在使用JNDI数据源前,首先要确保JDBC驱动已放入...
2. 数据库连接池:为了提高数据库访问效率,可以引入C3P0或Druid等数据库连接池,实现数据库连接的复用。 3. 异常处理:在Servlet和JSP中都应该加入异常处理,以保证系统的健壮性。 4. 页面跳转与重定向:根据业务...
2. 创建数据库连接池:为了提高数据库访问效率,通常会使用连接池(如C3P0或Apache DBCP)来管理数据库连接。 3. 编写Servlet:实现各种业务逻辑,如处理HTTP请求,调用DAO(Data Access Object)层进行数据操作。 4...
9. 【可选】采用合适的数据库连接池,可以是 Tomcat 自带的连接池功能,也可以是第 三方连接池工具,如 dbcp 或者 c3p0,注意防止 SQL 注入。 10. 【可选】为了保证用户体验,页面初始加载完成以后,后续页面操作...
7. **数据库连接池**:为了优化数据库访问,项目可能引入了像C3P0或HikariCP这样的数据库连接池技术。 8. **JSON数据交换格式**:前后端之间可能通过JSON交换数据,实现异步请求和响应。 9. **AJAX技术**:为了...
另外,要关注系统的性能,如合理设置索引以提升查询速度,使用连接池管理数据库连接,避免频繁创建和关闭连接。 6. **用户权限管理**:为了确保系统安全,通常需要实现用户角色权限管理,如管理员可以查看所有学生...
- 数据库连接池:如C3P0、DBCP等,提高数据库连接的复用性。 8. **项目实践**: - 企业在线学习管理系统:包括学员管理、课程管理、评论等功能,采用MVC或Struts+DAO+XML+AJSX开发。 - 企业人力资源管理系统:...
6)局部刷新脚本与服务器交互:Ajax技术 7)数据库访问:JDBC,dbcp(连接池) 3:采取分层思想 1)表现层(js,css,jsp) 2)控制器层(struts2) 3)业务层(JavaBean,Action) 4)数据访问(JDBC+DAO)
在数据库处理方面,不需要在数据层借助存储过程及数据库服务器端函数封装过多的业务逻辑,因此数据库系统采用相对精巧的MySQL[6]。 该在线博客系统服务器端如果需要布置到其他主机上,则该主机必备条件如下: 1. ...
9. **DBCP(Database Connection Pool)**:DBCP是Apache的一个数据库连接池,用于管理和复用数据库连接,提高应用性能。 10. **EL(Expression Language)**:EL是JSP 2.0引入的一种表达式语言,用于简化数据绑定...
6)局部刷新脚本与服务器交互:Ajax技术 7)数据库访问:JDBC,dbcp(连接池) 3:采取分层思想 1)表现层(js,css,jsp) 2)控制器层(struts2) 3)业务层(JavaBean,Action) 4)数据访问(JDBC+DAO)
5. **Tomcat,WebLogic配置连接池**: 连接池管理数据库连接,避免频繁创建和销毁,提高性能。配置包括设置最大最小连接数,超时时间等。 6. **String与StringBuffer的区别**: String是不可变的,每次修改都会...
8. **性能优化**:使用连接池管理数据库连接,缓存常用数据,优化SQL查询,减少不必要的网络通信。 9. **用户体验**:设计用户友好的界面,使用AJAX技术进行局部刷新,提高交互性。 10. **版本控制与部署**:利用...