日期:2014-05-18  浏览次数:20710 次

tomcat容器的内置连接池如何使用(按时结帐)
以前用过用tomcat连接池的,但是好象很多次都是连接不成功,后来就一直没有用了,都是用的自己写的连接池,现在看见很多人都在用tomcat的连接池,都忘记了怎么用了,哪个好心人帮帮忙,把步骤说一下,非常感谢,有代码那就是更好的,谢谢!

------解决方案--------------------
1.server.xml中的配置

<Context path= "/DBTest " docBase= "DBTest "
debug= "5 " reloadable= "true " crossContext= "true ">

<!-- maxActive: Maximum number of dB connections in pool. Make sure you
configure your mysqld max_connections large enough to handle
all of your db connections. Set to 0 for no limit.
-->

<!-- maxIdle: Maximum number of idle dB connections to retain in pool.
Set to -1 for no limit. See also the DBCP documentation on this
and the minEvictableIdleTimeMillis configuration parameter.
-->

<!-- maxWait: Maximum time to wait for a dB connection to become available
in ms, in this example 10 seconds. An Exception is thrown if
this timeout is exceeded. Set to -1 to wait indefinitely.
-->

<!-- username and password: MySQL dB username and password for dB connections -->

<!-- driverClassName: Class name for the old mm.mysql JDBC driver is
org.gjt.mm.mysql.Driver - we recommend using Connector/J though.
Class name for the official MySQL Connector/J driver is com.mysql.jdbc.Driver.
-->

<!-- url: The JDBC connection url for connecting to your MySQL dB.
The autoReconnect=true argument to the url makes sure that the
mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
connection. mysqld by default closes idle connections after 8 hours.
-->

<Resource name= "jdbc/TestDB " auth= "Container " type= "javax.sql.DataSource "
maxActive= "100 " maxIdle= "30 " maxWait= "10000 "
username= "javauser " password= "javadude " driverClassName= "com.mysql.jdbc.Driver "
url= "jdbc:mysql://localhost:3306/javatest?autoReconnect=true "/>

</Context>

2. web.xml 配置

Now create a WEB-INF/web.xml for this test application.


<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 ">
<description> MySQL Test App </description>
<resource-ref>
<description> DB Connection </description>
<res-ref-name> jdbc/TestDB </res-ref-name>
<res-type> javax.sql.DataSource </res-type>
<res-auth> Container </res-auth>
</resource-ref>
</web-app>

3.调用
<%@ taglib uri= "http://java.sun.com/jsp/jstl/sql " prefix= "sql " %>
<%@ taglib uri= "http://java.sun.com/jsp/jstl/core " prefix= "c " %>

<sql:query var= "rs " dataSource= "jdbc/TestDB ">
select id, foo, bar from testdata
</sql:query>

<html>
<head>
<title> DB Test </title>
</head>
<body>

<h2> Results </h2>