Tomcat 的数据库连接池设置与应用
1.以SQL数据库为例,将数据库驱动程序的JAR文件放在Tomcat的 common/lib 中;从http://jakarta.apache.org/commons/dbcp/下载commons-dbcp-1.2.1.zip,将其中的commons-dbcp-1.2.1.jar放到jre/lib/ext和Tomcat 5.5/common/lib里面。
2.在Tomcat 5.5/conf/server.xml的<GlobalNamingResources>中添加:
<Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="sa" password="" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test"/>
属性说明:name,数据源名称,通常取”jdbc/***”的格式;
password,数据库用户密码;
driveClassName,数据库驱动;
maxIdle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连
接将被标记为不可用,然后被释放。设为0表示无限制。
MaxActive,连接池的最大数据库连接数。设为0表示无限制。
maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示
无限制。
3.在你的web应用程序的web.xml中设置数据源参考,如下:
在<web-app></web-app>节点中加入,
<resource-ref>
<description>SQL DB Connection Pool</description>
<res-ref-name>jdbc/test</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
子节点说明: description,描述信息;
res-ref-name,参考数据源名字,同上一步的属性name;
res-type,资源类型,”javax.sql.DataSource”;
res-auth,”Container”;
res-sharing-scope,”Shareable”;
4. 在Tomcat 5.5/webapps/test/META-INF/context.xml的<Context>中添加
在<Context></Context>节点中加入,
<ResourceLink
name='jdbc/test'
type='javax.sql.DataSource'
global='jdbc/test'/>
属性说明:name,同第2步和第3步的属性name值,和子节点res-ref-name值;
type,同样取”javax.sql.DataSource”;
global,同name值。
5.测试
重启Tomcat服务器,写一个test.jsp:
<%@ page language="java" contentType="text/html; charset=gb2312" %>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.sql.*"%>
<%@ page import="java.sql.*" %>
<html>
<head>
</head>
<body>
<%
DataSource ds = null;
try{
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
ds = (DataSource)envCtx.lookup("jdbc/test");
if(ds!=null){
out.println("Connection is OK!");
Connection **=*s.getConnection();
out.println("Connection is oooooo!");
if(cn!=null){
out.println("cn is Ok!");
Statement stmt = cn.createStatement();
ResultSet rst = stmt.executeQuery("select * from password");
out.println("rst is Ok!"+"<br>");
while(rst.next()){
out.println(rst.getString(1));
out.println(rst.getString(2));
out.println("<br>");
}
cn.close();
} else {
out.println("rst Fail!");
}
} else {
out.println("Fail!");
}
}catch(Exception ne){
out.println(ne);
}
%>
</body>
</html>
相关推荐
Tomcat的数据库连接池设置与应用,用于Tomcat单独配置数据连接池。
* maxActive - 同一时刻可以自数据库连接池中被分配的最大活动实例数。 * maxIdle - 同一时刻数据库连接池中处于非活动状态的最大连接数。 * maxWait - 当连接池中没有可用连接时,连接池在抛出异常前将等待的最大...
在分析数据库连接池工作原理的基础上,给出了Tomcat服务器数据库连接池的配置实例,以及在JSP页面中使用此连接池进行数据库访问的Java代码。在大型Web站点的开发中,使用数据库连接池技术是必要的,也是可取的。
Tomcat web应用中配置连接池的详细过程 这里以oracle数据库连接为例,如用到其他的其它数据库如 mysql sqlserver db2 等只需在相应的位置配置各数据库的驱动名称和对应的url 用户名 密码
一个简单的通过Tomcat连接池访问mysql数据库的jsp程序例子。
入题,个人开发,保证能用
Tomcat连接池配置oracle,MSSQLserver数据库,以及在java应用程序的的引用,附带了 对应的jar包
DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。单独使用dbcp需要3个包:commons-dbcp.jar,commons-pool.jar,commons-collections.jar由于建立...
这个环境下的数据库连接池我搞了几天。终有所成,希望同志们不要走太多的弯路。 网上的太乱了!
通过系统辨识建立了数据库连接池的近似线性时不变模型LTI, 并设计了绝对延迟保证控制器, 为Tomcat Web应用服务器实现了数据库连接池中闭环系统所有部件。测试结果表明, 即使在并发请求数量剧烈变化时, 控制器的设计...
DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar,common-collections.jar由于建立...
我比较倾向于直接在web应用中配置数据库连接,例如使用struts或者是Hibernate的连接池,这样的好处是无需了解不同的应用服务器在配置数据源的差别,应用实施的时候比较简单。 所以我近的一些项目都是采用这种架构...
DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池.DBCP可以直接的在应用程序中使用,Tomcat的数据源使用的就是DBCP; 使用连接池的第一项工作就是导包,这里需要的两个jar包分别是: commons-dbcp-1.4....
基于tomcat的dbcp使用 博文链接:https://wuxw920.iteye.com/blog/1045562
基于JNDI的应用程序开发 在以TOMCAT为WEB服务器的项目中,用JNDI建立数据库连接池实例.
在Tomcat5.0中增加连接池的配置,为数据库连接提供动态平衡的池,为应用管理数据库连接
应用于在java技术的myelspe 的tomcat的数据库连接池
用MyEclipse6.6 和tomcat6.0 以及SqlServer2005 测试通过。里面有详细解释的。
结合传统情况在开发基于数据库的Web应用时,对后台数据库的访问模式...描述了数据库连接池的基本概念、工作原理,分析了关键问题,并且以tomcat服务器上实现MySQL数据库连接池和编写数据库连接池类为例,实现连接池的应用。