posts - 93,  comments - 2,  trackbacks - 0
          這幾天在弄個小東西,要用到數據庫,以前就聽說過數據庫連接池這個概念,所以就打算在這個小東西中加入數據庫連接池。呵呵。從網上搜了一些資料。今天就整理一下。我搜到的設置基本上主要有兩種方法我們以MySQL+TOMCAT為例, MySQL驅動文件不僅要在工程lib目錄下,也要在Tomcat的lib目錄下。
          1.把DataSource設置到我們的WEB項目中,下面詳細的介紹下:
          第一步:在我們的WEB項目中的META-INF文件夾下建立一個context.xml
          Xml代碼 復制代碼 收藏代碼
          1. <?xml version='1.0' encoding='utf-8'?> 
          2.  
          3. <Context> 
          4.  
          5.     <Resource name="jdbc/mysql"    
          6.        auth="Container"    
          7.        type="javax.sql.DataSource"    
          8.        driverClassName="com.mysql.jdbc.Driver"    
          9.        url="jdbc:mysql://localhost/bbs"    
          10.        username="root"    
          11.        password="root"    
          12.        maxActive="50"    
          13.        maxIdle="20"    
          14.        maxWait="10000" />    
          15.  
          16. </Context> 

          第二步:在我們的WEB項目下的WEB-INF文件夾下建立一個web.xml(如果存在了就不用了,直接修改就行了)
          (這幾天測試了一下,不做這步也可以,O(∩_∩)O哈哈~省事了)
          Xml代碼 復制代碼 收藏代碼
          1. <resource-ref> 
          2.     <description>DB Connection</description> 
          3.     <res-ref-name>jdbc/mysql</res-ref-name> 
          4.     <res-type>javax.sql.DataSource</res-type> 
          5.     <res-auth>Container</res-auth> 
          6. </resource-ref> 

          第三步:我們就可以用代碼來獲取Connection對象了
          Java代碼 復制代碼 收藏代碼
          1. package xushun.util; 
          2.  
          3. import java.sql.*; 
          4. import javax.sql.*; 
          5. import javax.naming.*; 
          6.  
          7. public class DBHelper { 
          8.      
          9.     public static Connection getConnection() throws SQLException,NamingException 
          10.     { 
          11.         // 初始化查找命名空間 
          12.         Context initContext = new InitialContext(); 
          13.         Context envContext = (Context)initContext.lookup("java:/comp/env"); 
          14.         // 找到DataSource 
          15.         DataSource ds = (DataSource)envContext.lookup("jdbc/mysql"); 
          16.         return ds.getConnection(); 
          17.     } 

          2.把DataSource設置到我們的Tomcat中,下面詳細的介紹下(測試用的JAVA代碼和上面的一樣就不帖出了):
          這里我查到的設置方法就有了一點區別了。有的人把DataSource設置在Tomcat的server.xml文件的GlobalNamingResources下面,然后在context.xml中去映射。有的直接就寫在context.xml中了
          先說下在server.xml添加DataSource
          第一步:在Tomcat的conf中的server.xml文件中找到
          Xml代碼 復制代碼 收藏代碼
          1. <GlobalNamingResources> 
          2.   <!-- Editable user database that can also be used by 
          3.        UserDatabaseRealm to authenticate users 
          4.   --> 
          5.   <Resource name="UserDatabase" auth="Container" 
          6.             type="org.apache.catalina.UserDatabase" 
          7.             description="User database that can be updated and saved" 
          8.             factory="org.apache.catalina.users.MemoryUserDatabaseFactory" 
          9.             pathname="conf/tomcat-users.xml" /> 
          10. </GlobalNamingResources> 
          修改為
          Xml代碼 復制代碼 收藏代碼
          1. <GlobalNamingResources> 
          2.   <!-- Editable user database that can also be used by 
          3.        UserDatabaseRealm to authenticate users 
          4.   --> 
          5.   <Resource name="UserDatabase" auth="Container" 
          6.             type="org.apache.catalina.UserDatabase" 
          7.             description="User database that can be updated and saved" 
          8.             factory="org.apache.catalina.users.MemoryUserDatabaseFactory" 
          9.             pathname="conf/tomcat-users.xml" /> 
          10.   <Resource name="jdbc/bbs"      
          11.          auth="Container" type="javax.sql.DataSource" 
          12.          driverClassName="com.mysql.jdbc.Driver" 
          13.          maxIdle="20" 
          14.          maxWait="5000" 
          15.          username="root" 
          16.          password="admin" 
          17.          url="jdbc:mysql://localhost:3306/bbs"      
          18.          maxActive="100"  
          19.          removeAbandoned="true" 
          20.          removeAbandonedTimeout="60" 
          21.          logAbandoned="true"/> 
          22. </GlobalNamingResources> 

          第二步:在Tomcat的conf文件夾下的context.xml中加入
          Xml代碼 復制代碼 收藏代碼
          1. <ResourceLink name="jdbc/bbs" global="jdbc/bbs" type="javax.sql.DataSource"/> 

          第三步:就是在WEB項目的WEB-INF中的web.xml添加
          Xml代碼 復制代碼 收藏代碼
          1. <resource-ref> 
          2.     <description>DB Connection</description> 
          3.     <res-ref-name>jdbc/mysql</res-ref-name> 
          4.     <res-type>javax.sql.DataSource</res-type> 
          5.     <res-auth>Container</res-auth> 
          6. </resource-ref> 

          還有就是在Tomcat文檔中提到的方法,直接修改context.xml文件了
          在Tomcat的conf文件夾下的context.xml中加入
          Xml代碼 復制代碼 收藏代碼
          1. <Resource name="jdbc/bbs"      
          2.               auth="Container" type="javax.sql.DataSource" 
          3.               driverClassName="com.mysql.jdbc.Driver" 
          4.               maxIdle="20" 
          5.               maxWait="5000" 
          6.               username="root" 
          7.               password="admin" 
          8.               url="jdbc:mysql://localhost:3306/bbs"      
          9.               maxActive="100"  
          10.               removeAbandoned="true" 
          11.               removeAbandonedTimeout="60" 
          12.               logAbandoned="true"/> 
          然后就是在WEB項目的WEB-INF中的web.xml添加
          Xml代碼 復制代碼 收藏代碼
          1. <resource-ref> 
          2.     <description>DB Connection</description> 
          3.     <res-ref-name>jdbc/mysql</res-ref-name> 
          4.     <res-type>javax.sql.DataSource</res-type> 
          5.     <res-auth>Container</res-auth> 
          6. </resource-ref> 

          就是這些了,如果有什么不太清楚的就留言,一起研究下。等以后我在搜集下資料整理出上面用到的XML文件中各個標簽的屬性及其代表的意思。有興趣的也可以自己先查下。:-)

          <td>JNDI 查找名稱</td>       <td>關聯的引用</td>

          <td>java:comp/env</td>      <td>應用程序環境條目</td>

          <td>java:comp/env/jdbc</td> <td>JDBC 數據源資源管理器連接工廠</td>

          <td>java:comp/env/ejb</td>  <td>EJB 引用</td>

          <td>java:comp/UserTransaction</td><td>UserTransaction 引用</td>

          <td>java:comp/env/mail</td> <td>JavaMail 會話連接工廠</td>

          <td>java:comp/env/url</td>  <td>URL 連接工廠</td>

          <td>java:comp/env/jms</td>  <td>JMS 連接工廠和目標</td>

          <td>java:comp/ORB</td>      <td>應用程序組件之間共享的 ORB 實例</td>
          參考如下
          posted on 2012-07-27 19:29 Terry Zou 閱讀(3082) 評論(0)  編輯  收藏 所屬分類: Tomcat+Eclipse
          <2012年7月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          Java

          搜索

          •  

          最新隨筆

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 临汾市| 武鸣县| 新竹市| 扎囊县| 金溪县| 中方县| 兴山县| 达日县| 苗栗市| 龙井市| 黑水县| 张家川| 罗城| 望奎县| 临安市| 温州市| 海宁市| 金门县| 桐城市| 龙江县| 合阳县| 泸西县| 寻乌县| 出国| 叙永县| 云和县| 大足县| 侯马市| 大竹县| 绩溪县| 阿坝县| 北票市| 赫章县| 顺平县| 松溪县| 临邑县| 康马县| 六盘水市| 达日县| 镇沅| 崇信县|