配置環(huán)境:Tomcat5.5.20、MySQL5.0.22 、mysql-connector-java-5.0.0-beta 、commons-dbcp-1.2.1、 JDK1.5以上的“東東”在網(wǎng)上都能夠下到的。
然后在D:\Tomcat5.5\webapps\新建目錄whl2文件夾(我是用myeclispse自動(dòng)建了一工作目錄),在META-INF下創(chuàng)建 context.xml(為什么要?jiǎng)?chuàng)建這個(gè)文件我也不太清楚 ,哪位高手知道還請(qǐng)多指教.
接下來(lái)就要把JDBC驅(qū)動(dòng)程序mysql-connector-java-5.0.0-beta和commons-
dbcp-1.2.1解壓,分別
將解壓后的.jar文件分別復(fù)制到D:\Tomcat5.5\common\lib下,以上工作做完就可以進(jìn)行連接池的配置了。
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,是數(shù)據(jù)源的類(lèi)型(不變),driverClassName是驅(qū)動(dòng)程序的類(lèi)名好像得這么寫(xiě)(不變),url是數(shù)據(jù)庫(kù)的路徑math為數(shù)據(jù)庫(kù)名(肥test改為自己的數(shù)據(jù)庫(kù)名)。
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全部?jī)?nèi)容如下
<Context path="/whl2" docBase="whl2" debug="5" reloadable="true" crossContext="true"> <ResourceLink name="Test" global="Test" type="javax.sql.DataSourcer"/> </Context>
注:path是工作區(qū)的路徑,ResourceLink name和global好像都得和前面的連接池的名字相同,這里的global有什么用我也不太清楚.
下面是測(cè)試代碼:
<%@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>
|