qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          怎樣配置Tomcat6.0的數(shù)據(jù)庫連接池詳解

           Tomcat自帶數(shù)據(jù)庫連接池,但是需要進(jìn)行相應(yīng)的配置才能使用Tomcat的數(shù)據(jù)庫連接池。此文只針對Tomcat6.0進(jìn)行配置。

            1.在自己的項(xiàng)目下的META-INF(注意:不是WEB-INF,我看網(wǎng)上很多人都弄錯了)下面新建一個context.xml文件,文件內(nèi)容為:

          <?xml version="1.0" encoding="UTF-8"?>
          <Context>
          <WatchedResource>WEB-INF/web.xml</WatchedResource>   //監(jiān)聽資源
          <Resource
          name="myoracle"                //給資源隨便起一個名字,用于在程序中調(diào)用。
          auth="Container"                                  //
          type="javax.sql.DataSource"       //資源類型
          driverClassName="oracle.jdbc.OracleDriver" //加載驅(qū)動,每種數(shù)據(jù)庫的方式不同,自己參考資料。
          url="jdbc:oracle:thin:@localhost:1521:ICSS" //連接字符串,相信大家不陌生。
          username="jsp"            //訪問數(shù)據(jù)庫用戶名
          password="jsp"                          //訪問數(shù)據(jù)庫的密碼
          maxActive="200"                      //最大可以有200名用戶連接數(shù)據(jù)源
          maxIdle="10"                              //如果沒有用戶連接,空出10個連接等待用戶連接
          maxWait="5000"/> //如果已連接用戶5000秒內(nèi)沒有再次連接數(shù)據(jù)源,則放棄此連接
          </Context>

            2.如果不是用的myeclipse自帶的tomcat,則要到那個tomcat下面conf\Catalina\localhost刪除host-manager.xml和manager.xml。

            3.然后就在servlet里面調(diào)用了,調(diào)用方法:

            需要用到的引用:

          import javax.sql.DataSource;
          import javax.naming.InitialContext;
          import java.sql.Connection;

          InitialContext initCtx = new InitialContext();  //
          //下面的” java:comp/env”是固定的,”myoracle”是在context.xml中指定的name。
          DataSource ds = (DataSource)initCtx.lookup("java:comp/env/myoracle");
          Connection conn = ds.getConnection();  //獲取連接。


            附加:

            1.Sql server 的context.xml配置:

          <Resource
          name="名字"
          type="javax.sql.DataSource"
          maxActive="100"
          maxIdle="30"
          maxWait="5000"
          username="用戶名"
          password="密碼"
          driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
          url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=數(shù)據(jù)庫名"
          /

           2.oracle的context.xml配置:(已經(jīng)在上面展示過了)

            3.mysql的context.xml配置:

          <Resource name="名字" 
          auth="Container" 
          type="javax.sql.DataSource" //資源類型 
          driverClassName="org.gjt.mm.mysql.Driver" 
          url="jdbc:mysql://localhost/數(shù)據(jù)庫名"  
          username="用戶名" 
          password="密碼" 
          maxActive="100" //最大連結(jié)數(shù) 
          maxIdle="30" //最大空閑時間,0為無限制 
          maxWait="10000"/> //建立連接的的最大等待時間

            ---------------------以下已經(jīng)實(shí)現(xiàn)過----------------------------------------

            以下是我工程中用到的一個實(shí)例(sql2005):

            context.xml內(nèi)容:

          <?xml version="1.0" encoding="GBK"?>
          <Context>
          <WatchedResource>WEB-INF/web.xml</WatchedResource>
          <!--2000:driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"-->
          <!--2000:url="jdbc:microsoft:sqlserver://192.168.0.15:1433;DatabaseName=XR-2000" -->
          <!--2005:driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"-->
          <!--2005:url="jdbc:sqlserver://localhost:1433;DatabaseName=XR-2000" -->
          <Resource
          name="jdbc/sql"
          auth="Container"
          type="javax.sql.DataSource"
          driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
          url="jdbc:sqlserver://localhost:1433;DatabaseName=XR-2000"
          username="sa"
          password="123456"
          maxActive="200"
          maxIdle="50"
          maxWait="-1"/>
          </Context>

            調(diào)用:

          Context ctx = null;
          try {
          ctx = new InitialContext();
          } catch (NamingException e1) {
          }

          DataSource ds = null;
          try {
          ds = (DataSource) ctx.lookup("java:comp/env/jdbc/sql");
          } catch (NamingException e2) {
          }

          Connection conn = null;
          try {
          conn = ds.getConnection();
          } catch (SQLException e3) {
          }

          Statement stmt = null;
          try {
          stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
          ResultSet.CONCUR_UPDATABLE);//紅色部分這樣定義就可以使用rs.last()方法了
          } catch (SQLException e) {
          }



          posted on 2013-08-06 10:18 順其自然EVO 閱讀(259) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫

          <2013年8月>
          28293031123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 都匀市| 西和县| 花莲县| 大关县| 威宁| 石景山区| 孝昌县| 涟源市| 资兴市| 台州市| 大城县| 田林县| 台中市| 芦溪县| 同德县| 鄂伦春自治旗| 察隅县| 泰来县| 高唐县| 炎陵县| 五指山市| 耒阳市| 墨竹工卡县| 荔波县| 昆明市| 灵璧县| 株洲市| 舒城县| 庆安县| 元江| 平安县| 天柱县| 阿克陶县| 玉门市| 大足县| 高邮市| 密云县| 饶阳县| 徐汇区| 辰溪县| 疏勒县|