<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    世界因你而精彩  
    日歷
    <2006年6月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678
    統計
    • 隨筆 - 169
    • 文章 - 1
    • 評論 - 138
    • 引用 - 0

    導航

    常用鏈接

    留言簿(9)

    隨筆分類(163)

    隨筆檔案(154)

    文章檔案(1)

    新聞檔案(1)

    相冊

    收藏夾(1)

    個人雜雜

    友情鏈接

    自學考試

    資料搜索

    最新隨筆

    搜索

    •  

    積分與排名

    • 積分 - 359144
    • 排名 - 153

    最新評論

    閱讀排行榜

    評論排行榜

     

    以下是轉帖:

    Tomcat 的數據庫連接池設置與應用

     

    1.將數據庫驅動程序的JAR文件放在Tomcat的 common/lib 中;

    2.在server.xml中設置數據源,以MySQL數據庫為例,如下:
    在<GlobalNamingResources> </GlobalNamingResources>節點中加入,
          <Resource
          name="jdbc/DBPool"
          type="javax.sql.DataSource"
          password="root"
          driverClassName="com.mysql.jdbc.Driver"
          maxIdle="2"
          maxWait="5000"
          username="root"
          url="jdbc:mysql://127.0.0.1:3306/test"
          maxActive="4"/>
       屬性說明:name,數據源名稱,通常取”jdbc/XXX”的格式;
                type,”javax.sql.DataSource”;
                password,數據庫用戶密碼;
                driveClassName,數據庫驅動;
                maxIdle,最大空閑數,數據庫連接的最大空閑時間。超過空閑時間,數據庫連
                         接將被標記為不可用,然后被釋放。設為0表示無限制。
                MaxActive,連接池的最大數據庫連接數。設為0表示無限制。
                maxWait ,最大建立連接等待時間。如果超過此時間將接到異常。設為-1表示
                         無限制。

    3.在你的web應用程序的web.xml中設置數據源參考,如下:
      在<web-app></web-app>節點中加入,
      <resource-ref>
        <description>MySQL DB Connection Pool</description>
        <res-ref-name>jdbc/DBPool</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
        <res-sharing-scope>Shareable</res-sharing-scope>
     </resource-ref>
      子節點說明: description,描述信息;
                   res-ref-name,參考數據源名字,同上一步的屬性name;
                   res-type,資源類型,”javax.sql.DataSource”;
                   res-auth,”Container”;
                   res-sharing-scope,”Shareable”;

    4.在web應用程序的context.xml中設置數據源鏈接,如下:
      在<Context></Context>節點中加入,
      <ResourceLink
       name="jdbc/DBPool" 
       type="javax.sql.DataSource" 
       global="jdbc/DBPool"/>
       屬性說明:name,同第2步和第3步的屬性name值,和子節點res-ref-name值;
                 type,同樣取”javax.sql.DataSource”;
                 global,同name值。
     
    至此,設置完成,下面是如何使用數據庫連接池。
    1.建立一個連接池類,DBPool.java,用來創建連接池,代碼如下:
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.sql.DataSource;

    public class DBPool {
        private static DataSource pool;
        static {
             Context env = null;
              try {
                  env = (Context) new InitialContext().lookup("java:comp/env");
                  pool = (DataSource)env.lookup("jdbc/DBPool");
                  if(pool==null) 
                      System.err.println("'DBPool' is an unknown DataSource");
                   } catch(NamingException ne) {
                      ne.printStackTrace();
              }
          }
        public static DataSource getPool() {
            return pool;
        }
    }

    2.在要用到數據庫操作的類或jsp頁面中,用DBPool.getPool().getConnection(),
    獲得一個Connection對象,就可以進行數據庫操作,
    最后別忘了對Connection對象調用close()方法,
    注意:這里不會關閉這個Connection,而是將這個Connection放回數據庫連接池。

    也是可以直接連的:
    如連接oracle
    public class ConnectionProvider
    {
     public static DataSource ds;

     static
     {
      DriverAdapterCPDS cpds = new DriverAdapterCPDS();

      try
      {
       cpds.setDriver("oracle.jdbc.driver.OracleDriver");
      }
      catch (ClassNotFoundException e)
      {
       String msg = "Could not find driver in the classpath ";
       System.out.println(msg);
       throw new RuntimeException(msg);
      }
                   
      cpds.setUrl("jdbc:oracle:thin:@192.168.0.167:1521:epcora");
      cpds.setUser("71c");
      cpds.setPassword("123456");

      Jdbc2PoolDataSource tds = new Jdbc2PoolDataSource();
      tds.setConnectionPoolDataSource(cpds);
      tds.setDefaultMaxActive(20);
      tds.setDefaultMaxWait(50);
      
      ds = tds;
     }
    }
    這樣就不用在server.xml,web.xml設置了。

    還是若用eclipse跟蹤bug,設置連接數據庫則須在“Java構建路徑”-“庫”里添加上
    數據庫驅動程序的JAR文件即可。

    posted on 2006-06-22 15:18 張秀蘭 閱讀(4812) 評論(0)  編輯  收藏 所屬分類: 學習園地資料查找
     
    Copyright © 張秀蘭 Powered by: 博客園 模板提供:滬江博客
    主站蜘蛛池模板: 日韩免费a级毛片无码a∨| 久香草视频在线观看免费| 亚洲精品人成电影网| 亚洲中文字幕无码中文字在线| 国产高清在线精品免费软件 | 亚洲一区二区三区高清在线观看| 亚洲美女一区二区三区| 亚洲综合自拍成人| 亚洲视频在线观看不卡| 91久久亚洲国产成人精品性色| 亚洲午夜久久久精品影院| 亚洲国产精品久久久久婷婷老年 | 4hu四虎最新免费地址| 19禁啪啪无遮挡免费网站| 99re热精品视频国产免费| 最近免费中文字幕大全免费| 亚洲网站免费观看| 扒开双腿猛进入爽爽免费视频| 久久久久国产精品免费免费搜索| 青春禁区视频在线观看直播免费| 成年大片免费视频| 国产99视频精品免费视频7| 免费h黄肉动漫在线观看| 亚洲精品岛国片在线观看| 亚洲欧洲精品无码AV| 无码乱人伦一区二区亚洲| 亚洲美女激情视频| 亚洲人成色在线观看| 国产成人综合亚洲| 亚洲阿v天堂在线2017免费| 免费黄网站在线看| 久草视频在线免费| 小小影视日本动漫观看免费| 亚洲午夜国产片在线观看| 亚洲成AV人片在线观看| wwwxxx亚洲| 九九九精品视频免费| 免费无码毛片一区二区APP| 在线a毛片免费视频观看| 亚洲国产香蕉人人爽成AV片久久 | 亚洲国产综合精品中文第一区|