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)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 临城县| 保靖县| 灯塔市| 彰武县| 丽水市| 吉安县| 彭阳县| 大关县| 梁平县| 兰坪| 乾安县| 铁力市| 磐安县| 随州市| 沙雅县| 志丹县| 任丘市| 莫力| 牙克石市| 汕头市| 宝应县| 搜索| 大港区| 武定县| 天门市| 黑龙江省| 宁南县| 文化| 吉首市| 开原市| 双流县| 扬中市| 浦县| 疏勒县| 石台县| 清丰县| 罗甸县| 滦南县| 香港| 尼木县| 舟山市|