配置环境:Tomcat5.5.20、MySQL5.0.22 、mysql-connector-java-5.0.0-beta 、commons-dbcp-1.2.1、 JDK1.5以上的“东东”在网上都能够下到的。
然后在D:\Tomcat5.5\webapps\新建目录whl2文件夹(我是用myeclispse自动建了一工作目录),在META-INF下创建 context.xml(为什么要创建这个文件我也不太清楚 ,哪位高手知道还请多指教.
接下来就要把JDBC驱动程序mysql-connector-java-5.0.0-beta和commons-
dbcp-1.2.1解压,分别
将解压后的.jar文件分别复制到D:\Tomcat5.5\common\lib下,以上工作做完就可以进行连接池的配置了。
1、配置D:\Tomcat 5.5\conf\server.xml在server.xml中的<GlobalNamingResources></GlobalNamingResources>中添加如下配置信息:
<Resource name="Test" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" password="mysql" maxIdle="2" maxWait="5000" username="root" url="jdbc:mysql://localhost:3306/test" maxActive="4"/>
注:name是连接池的名字可任取,type,是数据源的类型(不变),driverClassName是驱动程序的类名好像得这么写(不变),url是数据库的路径math为数据库名(肥test改为自己的数据库名)。
2、配置D:\Tomcat 5.5\webapps\DBtest\WEB-INF\web.xml在<web-app></web-app>中加入如入信息
<resource-ref> <description>DB Connection</description> <res-ref-name>Test</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>
注:其中的res-ref-name必须和前面的连接池名相同。
3、配置D:\Tomcat 5.5\webapps\DBtest\META-INF\context.xml全部内容如下
<Context path="/whl2" docBase="whl2" debug="5" reloadable="true" crossContext="true"> <ResourceLink name="Test" global="Test" type="javax.sql.DataSourcer"/> </Context>
注:path是工作区的路径,ResourceLink name和global好像都得和前面的连接池的名字相同,这里的global有什么用我也不太清楚.
下面是测试代码:
<%@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/Test"); Connection conn = connectionPool.getConnection(); out.print("DB connection pool run OK!"); conn.close(); } catch(Exception ex){ out.print(ex.getMessage()); ex.printStackTrace();
} %> </body> </html>
|