Tomcat5.0與SqlServer2000配置連接池(jtds驅動)
<轉自CSDN>軟件:
(1)tomcat5.0
http://www.apache.org
(2)jtds.jar
http://jtds.sourceforge.net/
(3)jdk1.4
(4)Sqlserver2000(windows2003系統需要sp3補丁)
設置環境變量:
(1)CATALINA_HOME
tomcat的安裝路徑,如:E:\Tomcat5.0
(2)CATALINA_BASE
tomcat的安裝路徑,如:E:\Tomcat5.0
(3)JAVA_HOME
jdk安裝路徑,如:E:\Program Files\j2sdk1.4.2
(4)PATH
%JAVA_HOME%\bin
(5)class_path
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar(前面的.和;不能少)
將jtds.jar放在正確的目錄
只能放在%CATALINA_HOME%\common\lib\目錄下
修改server.xml文件
改文件位于:;%CATALINA_HOME%\conf\server.xml
在<host>與</host> 之間,修改后的內容為:
?? < Context path = "/tiannet" docBase = "E:\tiannet"
???????? debug = "5" reloadable = "true" crossContext = "true" >
????????< Logger className = "org.apache.catalina.logger.FileLogger"
???????????????? directory = "logs"?? prefix = "localhost_log." suffix = ".txt"
???????????? timestamp = "true" />
????????????
????????< Resource name = "jdbc/connectDB"
??????????????? auth = "Container"
??????????????? type = "javax.sql.DataSource" />
????< ResourceParams name = "jdbc/connectDB" >
??????< parameter >
????????< name > factory </ name >
????????< value > org . apache . commons . dbcp . BasicDataSourceFactory </ value >
??????</ parameter >
??
????< parameter >
??????< name > removeAbandoned </ name >
??????< value > true </ value >
???? </ parameter >
???? < parameter >
??????< name > removeAbandonedTimeout </ name >
??????< value > 60 </ value >
???? </ parameter >
???? < parameter >
??????< name > logAbandoned </ name >
??????< value > false </ value >
???? </ parameter >
????????
??????< parameter >
????????< name > maxActive </ name >
????????< value > 100 </ value >
??????</ parameter >
??????< parameter >
????????< name > maxIdle </ name >
????????< value > 30 </ value >
??????</ parameter >
??????< parameter >
????????< name > maxWait </ name >
????????< value > 10000 </ value >
??????</ parameter >
??????< parameter >
???????< name > username </ name >
???????< value > sa </ value >
??????</ parameter >
??????< parameter >
???????< name > password </ name >
???????< value > 123 </ value >
??????</ parameter >
??????< parameter >
???????? < name > driverClassName </ name >
???????? < value > net . sourceforge . jtds . jdbc . Driver </ value >
??????</ parameter >
??????< parameter >
????????< name > url </ name >
????????< value > jdbc : jtds : sqlserver : //127.0.0.1:1433/tiannet;charset=gb2312</value>
?????? </ parameter >
????</ ResourceParams >
??</ Context >
參數說明
1) path 指定路徑,也就是訪問web的路徑,這里為 http://localhost:8080/tiannet
2) docBase 虛擬目錄的路徑,絕對路徑。如果虛擬目錄設置%CATALINA_HOME%\webapps目錄的某個子目錄下(如tiannet),則可直接寫子目錄名稱(如tiannet)。
3) reloader 當網頁被更新時是否重新編譯。
4) maxActive 連接池的最大數據庫連接數。設為0表示無限制。
5) maxIdle 數據庫連接的最大空閑時間。超過此空閑時間,數據庫連接將被標記為不可用,然后被釋放。設為0表示無限制。
6) maxWait 最大建立連接等待時間。如果超過此時間將接到異常。設為-1表示無限制。
7) removeAbandoned 回收被遺棄的(一般是忘了釋放的)數據庫連接到連接池中。
8) removeAbandonedTimeout 數據庫連接過多長時間不用將被視為被遺棄而收回連接池中。
9) logAbandoned 將被遺棄的數據庫連接的回收記入日志。
10) driverClassName JDBC驅動程序。
11)username : 連接數據庫的用戶名
12)password : 連接數據庫的密碼
13) url 格式化數據庫連接字符串(這里的tiannet為數據庫名),格式為:
jdbc:jtds:<server_type>: //<server>[:<port>][/<database>][;<property>=<value>[;...]]
更多url的說明請參照:
http://jtds.sourceforge.net/faq.html
將上面的內容修改保存,并重新啟動tomcat后,在%CATALINA_HOME%\conf\Catalina\localhost\目錄下會多出一個xml文件,這里為:tiannet.xml。現在虛擬目錄就生效了。
修改/WEB-INF/web.xml文件
在虛擬目錄的根目錄(這里為:E:\tiannet)下建立WEB-INF目錄,在WEB-INF目錄下新建一個web.xml文件,基本內容為:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<web-app>?
??<display-name>tiannet web</display-name>
????<description>connectDB test</description>?
????<resource-ref>
??????<description>DB Connection</description>
??????<res-ref-name>jdbc/connectDB</res-ref-name>
??????<res-type>javax.sql.DataSource</res-type>
??????<res-auth>Container</res-auth>
????</resource-ref>?
??<welcome-file-list>
????<welcome-file>index.jsp</welcome-file>
??</welcome-file-list>??
</web-app>
注意<res-ref-name>jdbc/connectDB</res-ref-name>的jdbc/connectDB和server.xml文件中的Resource的name屬性以及ResourceParams的name屬性值是一樣的。
測試連接池的代碼
<%@ page contentType = "text/html;charset=gb2312" %>
<%@ page import = "java.sql.*" %>
<%@ page import = "javax.sql.*" %>
<%@ page import = "javax.naming.*" %>
< html >
< body >
<%
???? DataSource ds = null ;
???? Connection conn = null ;
???? ResultSet rs = null ;
???? Statement stmt = null ;
???? InitialContext ctx = null ;
???? String????m_strDriver = "net.sourceforge.jtds.jdbc.Driver" ,???????? // 驅動字符串
??????????????? m_strConURL = "jdbc:jtds:sqlserver" ;??????????????????????? // 連接字符串
??? try
??? {
??????????? ctx =new InitialContext ();
??????????? ds =( DataSource ) ctx . lookup ( "java:comp/env/jdbc/connectDB" );???? //注意connectDB的名稱和上面一致
??????????? conn = ds . getConnection ();
??????????? stmt = conn . createStatement ();
??????????? String strSql = " select * from test" ;???????????????????????? //test為數據庫中的一個表????
?????????? rs = stmt . executeQuery ( strSql );
???????????while( rs . next ())
???????????{
?????????????? out . println ( rs . getString ( 1 ) + "" );?????????????????
?????????????? out . println ( rs . getString ( 2 ) + "" );
???????? }
???}
??? catch ( Exception ex )
???{
??????? out . println ( ex . getMessage ());
???}
??? finally
??? {
??????????? rs . close ();
??????????? stmt . close ();
??????????? conn . close ();
??????????? ctx . close ();
???}
%>
</ body >
</ html >
到這里所有的配置就結束了。
posted @ 2006-10-08 17:35 iporay 閱讀(484) | 評論 (0) | 編輯 收藏