Tomcat5.5.9+SQL Server2000 連接池總結(jié)(供大家參考)
前一段時(shí)間做了一個(gè)小項(xiàng)目,是直接利用JDBC跟數(shù)據(jù)庫(kù)打交道的。我現(xiàn)在換用Tomcat的數(shù)據(jù)庫(kù)連接池來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接,感覺(jué)剛開(kāi)始的時(shí)候真的是問(wèn)題多多,還好,現(xiàn)在終于可以連接數(shù)據(jù)庫(kù)了??偨Y(jié)了一點(diǎn)點(diǎn)經(jīng)驗(yàn),供大家參考!??! 好了,應(yīng)該準(zhǔn)備的也準(zhǔn)備好了,現(xiàn)在我們就來(lái)寫一個(gè)test.jsp來(lái)測(cè)試一下。
首先要先準(zhǔn)備好必要的軟件:
1、從http://www2.tw.freebsd.org/Apache/java-repository/commons-dbcp/jars/下載commons-dbcp-1.2.1.jar,然后拷貝放到Tomcat 5.5/common/lib下
2、從http://www.microsoft.com網(wǎng)站下載SQL Server 2000的JDBC驅(qū)動(dòng)程序(注:直接在網(wǎng)站搜索:JDBC就可以找到了,自己去下載哦),然后把相應(yīng)的JDBC的驅(qū)動(dòng)程序(jar文件)拷貝到Tomcat5.5/common/lib下
然后修改Tomcat5.5.9/conf/server.xml和你的應(yīng)用程序的web.xml兩個(gè)文件
3、編輯Tomcat 5.5/conf/server.xml
打開(kāi)你的Tomcat5.5.9/conf/server.xml文件,然后找到
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
在其后添加連接描述
<Context path="/StudentGrade" docBase="studentgrade" debug="5" reloadable="true" crossContext="true">
<Resource name="student_gradeDB"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Test"
username="sa"
password="123456"
maxActive="20"
maxIdle="10"
maxWait="-1"/>
</Context>
說(shuō)明:
StudentGrade是你的war包名稱或者是你在webapps/創(chuàng)建的目錄名稱
student_gradeDB是連接數(shù)據(jù)源名稱
Test是你的數(shù)據(jù)庫(kù)名稱
4、編輯web.xml文件
在web.xml中,直接添加以下內(nèi)容:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>student_gradeDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
說(shuō)明:這里的student_gradeDB就是上面的
<%@ 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>測(cè)試</title>
</head>
<body>
<%
try{
Context ctx = new InitialContext();
DataSource connectionPool = (DataSource) ctx.lookup("java:comp/env/student_gradeDB");
Connection conn = connectionPool.getConnection();
out.print("恭喜,連接成功了?。?);
conn.close();
}
catch(Exception ex){
out.print(ex.getMessage());
ex.printStackTrace();
}
%>
</body>
</html>
<%@ page contentType="text/html; charset=GB2312" %>
如果你測(cè)試的時(shí)候能夠顯示出:恭喜,連接成功了??!
那就OK了?。?!
posted on 2005-11-04 15:01 阿松 閱讀(493) 評(píng)論(0) 編輯 收藏