qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          怎樣配置Tomcat6.0的數據庫連接池詳解

           Tomcat自帶數據庫連接池,但是需要進行相應的配置才能使用Tomcat的數據庫連接池。此文只針對Tomcat6.0進行配置。

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

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

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

            3.然后就在servlet里面調用了,調用方法:

            需要用到的引用:

          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=數據庫名"
          /

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

            3.mysql的context.xml配置:

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

            ---------------------以下已經實現過----------------------------------------

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

            context.xml內容:

          <?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>

            調用:

          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 閱讀(258) 評論(0)  編輯  收藏 所屬分類: 數據庫

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

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 佛山市| 霸州市| 思南县| 石首市| 安顺市| 息烽县| 泉州市| 惠水县| 桦川县| 蒙自县| 东光县| 郧西县| 浦北县| 娱乐| 慈溪市| 柳河县| 新巴尔虎左旗| 吴川市| 鹿邑县| 乌什县| 柯坪县| 攀枝花市| 奉新县| 禹城市| 辛集市| 边坝县| 汉源县| 如东县| 凤翔县| 临夏县| 望江县| 呼图壁县| 巴中市| 肃宁县| 通河县| 黎平县| 彭水| 大悟县| 偃师市| 兴文县| 陆川县|