Tomcat數據連接池

          在Java Web開發中都要與數據庫打交道,為了不頻繁地打開和關閉數據庫,以減少數據庫操作負荷,可使數據庫在開發過程中保持打開狀態,在這里我們采用配置數據源的方式(JNDI),而不是傳統地JDBC方式。下面就針對常規型的MySQL5.0.15和Tomcat6.0的數據源的基本配置進行簡單的介紹:
          首先聲明,如果數據源沒有配置好的話,在開發過程中會拋出諸如下列異常等:
          1、org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
          2、Caused by: java.sql.SQLException: No suitable driver
          3、Name jdbc is not bound in this context
          現在開始講下如何配置好數據源同時也是解決上述異常的辦法:
          方案一:
          步驟一、在Tomcat6.0解壓目錄conf下找到context.xml,在其中的<Context></Context> 中加入如下代碼(要根據自己的情況稍加修改): <Resource name="jdbc/myznt" auth="Container" type="javax.sql.DataSource" password="localhost" username="root" driverClassName="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost/myznt" maxActive="100" maxIdle="30" maxWait="5000"/>
          步驟二、在工程應用中/WEB-INF/下的web.xml中加入如下代碼(要根據自己的情況稍加修改):
          <resource-ref>
          <description>MySQL DataSource</description>
          <res-ref-name>jdbc/myznt</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
          </resource-ref>
          步驟三、把MySQL-Connector-java-3.0.12-bin.jar(可換更高版本)加到Tomcat安裝目錄中的lib目錄下和工程中的lib目錄下。
          通過這三步,一個基本的數據源就配置成功了!
          方案二
          步驟一、在Tomcat6.0解壓目錄conf下找到server.xml,在其中的<GlobalNamingResources></GlobalNamingResources>中加入如下代碼(要根據自己的情況稍加修改):
          <Resource name="jdbc/myznt" auth="Container" type="javax.sql.DataSource" password="localhost" username="root" driverClassName="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost/myznt" maxActive="100" maxIdle="30" maxWait="5000"/>
          步驟二、在Tomcat6.0解壓目錄conf下找到context.xml,在其中的<Context></Context>中加入并修改成如下代碼(要根據自己的情況稍加修改):
          <Context path="/znt" debug="1" reloadable="true" docBase="E:\EclipseWorkPlace\MyZNT\WebRoot">
          <ResourceLink global="jdbc/myznt" name="jdbc/myznt" type="javax.sql.Datasource"/>
          ................<!--此間可能有系統其它自配的內容,可不管-->
          </Context>
          步驟三、在工程中/WEB-INF/下的web.xml中加入如下代碼(要根據自己的情況稍加修改):
          <resource-ref>
          <description>MySQL DataSource</description>
          <res-ref-name>jdbc/myznt</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
          </resource-ref>
          步驟四、把MySQL-Connector-java-3.0.12-bin.jar(可換更高版本)加到Tomcat安裝目錄中的lib目錄下和工程中的lib目錄下。
          通過以上四步就好了!
          方案三(具有不穩定性,慎用)
          步驟一、在Tomcat6.0解壓目錄conf下找到server.xml,在其中的<Host></Host>中加入如下代碼(要根據自己的情況稍加修改):
          <Context path="/znt" docBase="E:\EclipseWorkPlace\MyZNT\WebRoot"
          debug="5" reloadable="true" crossContext="true">

          <Logger className="org.apache.catalina.logger.FileLogger"
          prefix="localhost_MysqlTest_log." suffix=".txt"
          timestamp="true"/>
          <Resource name="jdbc/myznt" auth="Container" type="javax.sql.DataSource" password="localhost" username="root" driverClassName="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost/myznt" maxActive="100" maxIdle="30" maxWait="5000"/>
          </Context>
          步驟二、在工程中/WEB-INF/下的web.xml中加入如下代碼(要根據自己的情況稍加修改):
          <resource-ref>
          <description>MySQL DataSource</description>
          <res-ref-name>jdbc/myznt</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
          </resource-ref>
          步驟三、把MySQL-Connector-java-3.0.12-bin.jar(可換更高版本)加到Tomcat安裝目錄中的lib目錄下和工程中的lib目錄下。
          通過以上三步,大部分時候還是起作用的,但有時會出現異常,因此不建議使用。
          以上幾種方案在實踐中經受了測試,方案一和二比較穩定,方案三最好別用,同時只是進行了大致地歸納,其中的哪些地方沒有必要或哪里欠妥還沒有去測試,望讀者進行批評指正。

          posted on 2008-08-14 18:27 SE7EN 閱讀(333) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2008年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 永川市| 永昌县| 九江市| 临猗县| 新河县| 米泉市| 封开县| 合水县| 石楼县| 张家港市| 萍乡市| 阳西县| 大足县| 东方市| 宜昌市| 德阳市| 兴安县| 太和县| 桐庐县| 台南市| 涪陵区| 浙江省| 河曲县| 泸定县| 安义县| 青铜峡市| 大姚县| 高密市| 乌兰浩特市| 大英县| 和平区| 韶山市| 城市| 长垣县| 平凉市| 永年县| 云和县| 平江县| 丁青县| 榆中县| 永德县|