tomcat4.1.24+Mysql连接池配法
1.修改CATALINA_HOME\conf\server.xml
<!-- Tomcat Root Context -->
<Context path="" docBase="ROOT" debug="0">
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_DBTest_log." suffix=".txt" timestamp="true"/>
<Resource name="jdbc/MysqlDB" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/MysqlDB"> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter>
<!-- 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. --> <parameter> <name>maxActive</name> <value>100</value> </parameter>
<!-- Maximum number of idle dB connections to retain in pool. Set to 0 for no limit. --> <parameter> <name>maxIdle</name> <value>30</value> </parameter>
<!-- 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. --> <parameter> <name>maxWait</name> <value>10000</value> </parameter>
<!-- MySQL dB username and password for dB connections --> <parameter> <name>username</name> <value>sa</value> </parameter> <parameter> <name>password</name> <value>111111</value> </parameter>
<!-- Class name for mm.mysql JDBC driver --> <parameter> <name>driverClassName</name> <value>org.gjt.mm.mysql.Driver</value> </parameter>
<!-- 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. --> <parameter> <name>url</name> <value>jdbc:mysql://localhost:3306/test?useUnicode=true&characterEnco ding=GBK</value>
<!--Here must use & not use & --> </parameter> </ResourceParams>
</Context>
2.修改webapps/ROOT/INF-WEB/web.xml
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <description>MySQL Test App</description> <resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/MysqlDB</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> </web-app>
3.测试用的testdb.jsp内容:
<%@ page contentType="text/html;charset=GBK"%> <%@ page import= "java.sql.* " %> <%@ page import= "javax.naming.* "%> <% try{
Context initCtx = new InitialContext();
Context ctx = (Context) initCtx.lookup("java:comp/env"); //获取连接池对象
Object obj = (Object) ctx.lookup("jdbc/MysqlDB");
//类型转换
javax.sql.DataSource ds = (javax.sql.DataSource)obj;
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
String strSql = " insert into test(id,name) values(''''007'''',''''hello,中国!'''') ";
stmt.executeUpdate(strSql);
strSql = " select id,name from test ";
ResultSet rs = stmt.executeQuery(strSql); while(rs.next()){
out.println(rs.getString(1));
out.println(rs.getString(2)+"<BR>");
} conn.close();
}catch(Exception ex){
ex.printStackTrace(); throw new SQLException("cannot get Connection pool."); }
%> <hr>
4.最后浏览 http://localhost/testdb.jsp
|