目前网上关于Tomcat 5.5的数据库连接池的配置比较少,仅有的一篇 http://blog.csdn.net/nethermit/archive/2004/11/26/194451.aspx 还被到处拷贝粘贴,而且还不能用。 现在介绍一下真正的配置,以PostgreSQL数据库为例(MySQL配置是一样的)。 1、从http://jakarta./commons/dbcp/下载commons-dbcp-1.2.1.jar,然后拷贝放到Tomcat 5.5/common/lib下 2、从http://jdbc./download.html下载PostgreSQL的JDBC驱动程序,MySQL的JDBC驱动从http://dev./downloads/connector/j/3.1.html下载,然后把相应的JDBC的驱动程序(jar文件)拷贝到Tomcat5.5/common/lib下 2、编辑Tomcat 5.5/conf/tomcat-users.xml,配置如下 <tomcat-users> <role rolename="tomcat"/> <role rolename="role1"/> <role rolename="manager"/> <role rolename="admin"/> <user username="tomcat" password="tomcat" roles="tomcat,manager,admin"/> </tomcat-users> 3、编辑Tomcat 5.5/conf/server.xml,在 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">后添加连接描述 <Context path="/mytest" docBase="mytest" debug="5" reloadable="true" crossContext="true"> <Resource name="mytest_ds" auth="Container" type="javax.sql.DataSource" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://127.0.0.1:5432/mytest_db" username="postgres" password="" maxActive="20" maxIdle="10" maxWait="-1"/> </Context>说明:mytest是你的war包名称或者是你在webapps/创建的目录名称 mytest_ds是连接数据源名称 mytest_db是数据库名称 至此Tomcat部分配置完成,下面是JSP部分程序 <%@page contentType="text/html; charset=GBK"%> <%@ page import="java.sql.*"%> <%@ page import="javax.naming.*"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>Test of connection pool</title> </head> <body> <% out.print("Start<br/>"); try{ InitialContext ctx = new InitialContext(); javax.sql.DataSource connectionPool = (javax.sql.DataSource) ctx.lookup("java:comp/env/mytest_ds"); Connection conn = connectionPool.getConnection(); out.print("DB connection pool run OK!"); conn.close(); } catch(Exception ex){ out.print(ex.getMessage()); ex.printStackTrace(); } %> </body> </html> |
|