Tomcat5連接池的配置

最近做個項目,需要在tomcat,weblogic中寫連接池.weblogic還是老樣子,照着圖形界面配置就可以了.Tomcat我用的是5.5.9.雖說以前用tomcat4版本寫過,可早就聽說,5版本和4版本的差距很大.所以就提前做好了心裏準備,先看了一個幫助文檔,花了進一個小時的時間搞定,現在整理出來與大家分享.
其實Tomcat5要比tomcat4簡單多了,如果還是按tomcat4的套路來,呵呵,那恐怕那走很多彎路了.
第一步:在tomcat5→common→lib下加入你所連接數據庫的驅動包.這裏我用的mysql數據庫.
第二步:在tomcat5→conf→Catalina→localhost配置一個xml文件.這裏一定要注意,必須和你的項目名稱是一模一樣的.我用的項目名爲testTomcat.testTomcat.xml文件配置如下:
java 代碼
  1.    
  2.               type='javax.sql.DataSource' driverClassName='com.mysql.jdbc.Driver'    
  3.               url='jdbc:mysql://127.0.0.1:3306/addressbooksample'    
  4.               username='root' password='' maxActive='20' maxIdle='10'    
  5.               maxWait='-1'/>    
  6.   
  7.   
  8.     global="UserDatabase"  
  9.     name="users"  
  10. type="org.apache.catalina.UserDatabase"/>   
 
這裏就和以前的tomcat4版本不一樣了,以前要在server.xml配置.而tomcat5版本直接在這裏配置就可以了.
第三步:在你項目的web.xml配置如下:
xml 代碼
  1. <resource-ref>  
  2.    <description>mysql  for 192.1.1.156 description>  
  3.    <res-ref-name> jdbc/mysql res-ref-name>  
  4.    <res-type>javax.sql.DataSourceres-type>  
  5.    <res-auth>Containerres-auth>  
  6.  resource-ref>  

注意:這裏的res-ref-name名字必須和testTomcat.xml文件中的一樣.其實這一步省去也是可以的.但還是建議配置一下

第四步:建一個JSP頁面來感受一下成功的喜悅吧.頁面代碼如下
java 代碼
  1. Context initCtx = new InitialContext();   
  2.           Context ctx = (Context) initCtx.lookup("java:comp/env");   
  3.          ds   =(javax.sql.DataSource) ctx.lookup("jdbc/mysql");   
  4.          System.out.println("Init datasource OK @!");   
注意:別忘了引入相關的包哦.還要注意的是這裏不能用主函數來測試.因爲你主函是得到tomcat的上下文的.
在項目中應用如下:
java 代碼
  1. public class TomcatJDNI {   
  2.   
  3.     public static String   
  4.     DATASOURCE_CONFIG_FILE="test.db";   
  5.         public static DataSource ds;   
  6.            
  7.         static{   
  8.             try{   
  9.          ResourceBundle rb = ResourceBundle.getBundle(DATASOURCE_CONFIG_FILE);   
  10.          String dsName     = rb.getString("datasource_name");   
  11.              Context initCtx = new InitialContext();   
  12.              Context ctx = (Context) initCtx.lookup("java:comp/env");   
  13.          ds   =(javax.sql.DataSource) ctx.lookup(dsName);   
  14.          System.out.println("Init datasource OK @!");   
  15.     }catch(Exception e){   
  16.         System.out.println("can’t init datasource !");   
  17.     }   
  18.     }   
  19.   
  20.     public static Connection getConnection() throws SQLException{   
  21.         return ds.getConnection();   
  22.     }   
  23. }   
  24. 這裏的test.db是一個db.properties文件.文件內容如下   
  25. datasource_name= jdbc/mysql   
  26. 這樣擴展性比較好.連接其它的數據庫,只需要改動此文件,無需重新編譯.   
  27. 就到這裏吧   
  28. Good luck!   
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章