ice world

          There is nothing too difficult if you put your heart into it.
          posts - 104, comments - 103, trackbacks - 0, articles - 0

          Tomcat的數據源配置

          Posted on 2011-04-16 13:19 IceWee 閱讀(902) 評論(0)  編輯  收藏 所屬分類: Java
          Tomcat本身并不具備提供數據源的能力,它需要借助其他的開源數據源(如DBCP)類實現。通過Tomcat提供的數據源,我們的程序中可以通過JNDI來訪問數據源。

          下面以DBCP為例,簡介數據源的配置。

          數據源的配置也有兩種方式,一種是通過修改Tomcat系統(tǒng)文件來配置全局數據源,一種是通過增加用戶的web部署文件來配置局部數據源。全局數據源的意義是所有部署在Tomcat內的web應用只要遵循規(guī)定都可以訪問的數據源,不建議此方式,可能會導致混亂。相對而言,增加用戶自己的web部署文件就比較合適一些,因為該數據源只針對某個web應用生效,其他web應用無法訪問該數據源,安全一些,也沒全局數據源那么混亂。

          配置數據源需要數據源的jar文件,如DBCP數據源就需要在Tomcat的common/lib下增加一個commons-dbcp.jar文件,還需要commons-poo.jar和commons-collections.jar的支持,一般在Tomcat里都會有這三個jar文件,最好還是檢查一下。

          在Tomcat的conf\localhost下創(chuàng)建自己的web部署配置文件,仿佛見《Tomcat中部署web應用的方式》,在Context元素下增加子元素,以Oracle數據庫為例,如:

          <Resource name="jdbc/dataSource" 
                  auth
          ="Container"     
                  description
          ="DB Connection"     
                  type
          ="javax.sql.DataSource"     
                  username
          ="username" 
                  password
          ="password"     
                  driverClassName
          ="oracle.jdbc.driver.OracleDriver"     
                  url
          ="jdbc:oracle:thin:@192.168.0.10:1521:db" 
                  maxActive
          ="5" />

          程序中訪問此數據源的代碼:

          // 初始化
          ContextContext ctx = new InitialContext();

          // 獲取數據源,其中java:comp/env是Tomcat規(guī)定的,Tomcat提供的JNDI綁定都必須加該前綴
          DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/dataSource");

          // 獲取數據庫鏈接
          Connection conn = ds.getConnection();

          // 一系列數據庫操作
          ... ...

          上面介紹了局部數據源的配置方法,全局數據源的配置和這差不多,只不過要是將Resource標簽放在server.xml的<GlobalNamingResources>元素里。

          主站蜘蛛池模板: 当涂县| 教育| 呼玛县| 江北区| 锡林浩特市| 兴宁市| 枣阳市| 镇远县| 郁南县| 仲巴县| 铜川市| 洱源县| 额敏县| 罗城| 车险| 元朗区| 绥芬河市| 玛纳斯县| 香港 | 信阳市| 嘉黎县| 襄城县| 郯城县| 芜湖市| 新昌县| 体育| 会理县| 上蔡县| 辉南县| 正宁县| 治县。| 曲沃县| 灌阳县| 清水河县| 太白县| 田林县| 诏安县| 云阳县| 汉川市| 兴业县| 巴塘县|