WIN2000>>APACHE TOMCAT5.0.28(要求5.0及以上版本)>>SQL SERVER 2000
系统用的是SQL SERVER 库中的Northwind。采用第四类驱动,驱动类放到D:\testpool\WEB-INF\lib中。
保证TOMCAT和SQL SERVER正常运行。
[color=red][1]在%TOMCAT_HOME%\conf\Catalina\localhost\目录下建一个testPool.xml文件:
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="D:/testpool" path="/testpool" privileged="true" workDir="work\Catalina\localhost\testpool">
<Resource type="javax.sql.DataSource" auth="Container" name="jdbc/northwind"/>
<ResourceParams name="jdbc/northwind">
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>password</name>
<value>12345</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://10.0.0.168:1433;databaseName=Northwind</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
</ResourceParams>
</Context>
[2]在D:\testpool\WEB-INF\下面建立一个web.xml文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<!--ConnectionPool-->
<resource-ref>
<res-ref-name>jdbc/northwind</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
[3]在D:\testpool\下面建立测试文件index.jsp
<%@ page contentType="text/html;charset=GB2312"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page session="false" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>tetst connection pool</title>
<%
out.println("我的测试开始");
DataSource ds = null;
try{
InitialContext ctx=new InitialContext();
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/northwind");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
String strSql = " select * from Categories";
ResultSet rs = stmt.executeQuery(strSql);
while(rs.next()){
out.println(rs.getString(1));
}
out.println("我的测试结束");
}
catch(Exception ex){
out.print("出现例外,信息是:"+ex.getMessage());
ex.printStackTrace();
}
%>
</head>
<body>
</body>
</html>
[4]补充:做配置时大体要搞清楚类似的几个问题,就是考虑WWW原则,要建或改什么文件(WHO),在那里做(WHERE),做什么(WHAT).与之对应的是:
WHO WHERE WHAT
testPool.xml %TOMCAT_HOME%\conf\Catalina\localhost\ 见第一步
web.xml(名字固定) D:\testpool\WEB-INF\web.xml 见第二步
index.jsp D:\testpool\index.jsp 见第三步
[5]如果使用hibernate,除作上面的外还需要更改hibernate.cfg.xml文件:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<!-- DO NOT EDIT: This is a generated file that is synchronized -->
<!-- by MyEclipse Hibernate tool integration. -->
<hibernate-configuration>
<session-factory>
<!-- properties
<property name="connection.username">sa</property>
<property name="connection.url">
jdbc:microsoft:sqlserver://10.0.0.168:1433;DataBaseName=cw_scene
</property>
<property name="dialect">
net.sf.hibernate.dialect.SQLServerDialect
</property>
<property name="connection.password">12345</property>
<property name="connection.driver_class">
com.microsoft.jdbc.sqlserver.SQLServerDriver
</property>
<property name="hibernate.jdbc.fetch_size">50</property>
<property name="hibernate.jdbc.batch_size">25</property>
-->
<!-- properties -->
<property name="connection.datasource">
java:comp/env/jdbc/testpool
</property>
<property name="dialect">
net.sf.hibernate.dialect.SQLServerDialect
</property>
<property name="hibernate.connection.provider_class">
net.sf.hibernate.connection.DatasourceConnectionProvider
</property>
<property name="hibernate.jdbc.fetch_size">50</property>
<property name="hibernate.jdbc.batch_size">25</property>
<!-- mapping files -->
<mapping resource="com/scenechina/table/Imgpos.hbm.xml" />
</session-factory>
</hibernate-configuration>
分享到:
相关推荐
在项目中的"src"目录可能包含测试用例的Java代码,而"lib"目录则包含了这些连接池库的依赖。测试代码可能使用了JUnit或其他测试框架,通过执行特定的查询、事务操作来模拟真实应用的负载,然后收集并分析结果,以便...
标题中的"dbcp1.4&pool1.5.6"指的是Apache的两个著名数据库连接池组件:DBCP (Database Connection Pool) 1.4版本和POOL (Object Pooling) 1.5.6版本。Apache DBCP是Apache软件基金会开发的一个开源项目,它提供了一...
在实际开发中,我们通常会编写这样的测试用例来验证连接池的配置是否正确,数据源是否能正常获取和释放连接,以及Hibernate的相关配置是否生效。 总结来说,连接池、Spring和Hibernate的结合是现代Java Web应用的...
在Java中,可以使用开源库如C3P0、Apache DBCP或HikariCP来创建连接池。这些库提供了预配置的连接池管理类,但如果你需要自定义实现,`ConnectionPool`类可能包含初始化数据库连接、获取和释放连接以及关闭连接池的...
Java数据库连接池(Database Connection Pool)是Java应用中用于管理数据库连接的重要组件,它提高了数据库操作的性能和...通过编写测试用例,我们可以验证Druid连接池的创建、使用、关闭以及监控等功能是否正常工作。
- **testpool.jocl**:这是一个测试类,用于验证DBCP连接池的功能。它通常包含各种测试用例,以确保组件在不同场景下的正确工作。 - **org**:这个目录包含了所有相关的Java源代码,它们组织在org.apache.commons....
Apache Commons DBCP2是Java开发中的一个数据库连接池组件,版本为2.6.0。这个压缩包包含了与DBCP相关的多个jar文件,用于在Java应用中管理和复用数据库连接,提高系统的性能和效率。下面我们将详细探讨DBCP、Java...
Apache Commons DBCP,全称为"Database Connection Pool",是Apache软件基金会开发的一个开源数据库连接池组件。在Java应用程序中,DBCP作为一个高效、稳定、成熟的数据库连接池解决方案,广泛应用于各种项目中,以...
当然,生产环境中应使用更高级的连接池实现,如C3P0、HikariCP或者Apache DBCP2,它们能更好地管理数据库连接,提高系统性能。 接下来,我们讨论数据库连接池的优化。连接池是管理数据库连接的一种技术,它可以减少...
Apache Commons DBCP,全称为"Database Connection Pool",是Apache软件基金会开发的一个开源数据库连接池组件。这个组件主要用于管理数据库连接,以提高应用程序的性能和效率。在Java应用程序中,尤其是在服务器端...
MyEclipse支持配置连接池,如C3P0、Apache DBCP或HikariCP,这些连接池组件可以帮助管理数据库连接的生命周期。 6. **异常处理和测试用例**:在开发过程中,还应编写测试用例来模拟各种异常情况,如网络中断、超时...
DBCP(Basic Database Connection Pool)是Apache提供的一款开源的数据库连接池实现,它为Java应用提供了高效的数据库连接管理。本实例工程将指导你如何在Spring中配置DBCP数据源。 首先,我们需要在项目中引入DBCP...
jdbc详细测试用例,包括connection ,statement,preparedstatement,resultset,BeanUtils,DBUtils,数据库连接池dbcp,cp03的单元测试,及dao层的统一封装,适合项目开发人员学习和项目中使用。
`BasicConnectionPoolTestUtil.java`可能是测试工具类,用于创建和管理连接池,`ConnectionPool.java`则可能实现了具体的连接池逻辑,如基于HikariCP、C3P0或DBCP等。测试时,通过连接池获取数据库连接,保证了测试...
通常,这类类会实现一个数据库连接池,如Apache的DBCP或C3P0,或者使用Spring框架中的JdbcTemplate或DataSource。数据库连接池可以有效地管理数据库连接,减少创建和销毁连接的开销,提高系统性能。封装类可能会包含...
在实际应用中,为了提高性能和效率,开发者通常会使用连接池(如C3P0、HikariCP或Apache DBCP)来管理和重用数据库连接,而不是每次需要时都新建一个。 7. **测试策略** 测试数据库连接时,应确保覆盖多种情况,...
- 使用连接池:如C3P0、HikariCP或Apache DBCP,它们可以复用数据库连接,减少创建和关闭连接的开销。 - 使用Try-with-Resources: Java 7引入的新特性,使得资源在finally块中自动关闭,避免资源泄露。 - 参数化查询...
标题中的"org.everit.osgi.bundles.commons-dbcp-1.4-v20140203.zip"是一个开源项目,它包含了Apache Commons DBCP的OSGi封装版本,适用于2014年2月3日的1.4版。Apache Commons DBCP(Database Connection Pool)是...
4. **Apache Commons DBCP**:`commons-dbcp-1.2.2.jar`是Apache Commons的一个子项目,提供了一个数据库连接池实现。虽然Druid在很多方面都优于DBCP,但DBCP在一些老项目中仍然被使用。它可以帮助管理数据库连接,...
- **连接池**:在大型应用中,使用连接池(如C3P0、HikariCP、DBCP等)可以有效地管理和复用数据库连接,提高性能并减少资源消耗。 - **预编译的SQL语句**:PreparedStatement不仅可以防止SQL注入,还可以提高执行...