Tomcat5配置MySQL數據庫連接池

    本篇文章是在我自己配置MYSQL數據庫連接池的過程中總結出來的。使用的是tomcat5.5.17mysql-connector-java-5.0.3-bin.jar。在這裏只是做個拋磚引玉的作用,如果你想配置其他數據庫的連接池的話你只需要做一下修改就可以了。

一.    無非是安裝TomcatMySQL。這個無須多說
二.    數據源的配置:
這裏我們可以直接利用TomcatWeb管理來配置。
啓動Tomcat,打開瀏覽器輸入http://localhost:8080/admin/,進入管理界面的登陸頁面(紅色界面的那個),輸入用戶名和密碼(不要告訴我你不知道用戶名跟密碼是什麼),登陸到管理界面。
       選擇Resources>Data sources進入配置數據源界面,選擇Data Source Actions >選擇Create New Data Source,進入配置詳細信息界面(如圖):

JNDI Name:   jdbc/DBConnection  //-->連接池名字
    Data Source URL   :jdbc:mysql://localhost:3306/database
    JDBC Driver Class:  com.mysql.jdbc.Driver
    User Name:  root          //數據庫用戶名
    Password:   *******     //數據庫密碼
    Max. Active Connections:  //最大活動連結數 0爲不限
    Max. Idle Connections:  //最大等待連結數 0爲不限
Max. Wait for Connection:  //建立連接超時時間ms,-1爲無限
點擊save然後還不要忘記了點擊commit changes。  

用文本編輯器打開%TOMCAT_HOME%/conf/server.xml,你會看到:
    <Resource
      name="jdbc/DBConnection"
      type="javax.sql.DataSource"
      password="123456"
      driverClassName="com.mysql.jdbc.Driver"
      maxIdle="3"
      maxWait="5000"
      username="root"
      url="jdbc:mysql://localhost:3306/bookstore"
      maxActive="10"/>
好,上面配置完了,如果不出錯的話你的數據源配置已經完成了一半了。

三.    web.xml的配置
web.xml位於%TOMCAT_HOME%/webapps/MyApp/WEB-INF下,也即是你的WEB工程裏的web.xml
同樣用文本編輯器打開web.xml,然後加入如下語句(在<web-app></web-app>之間)
<resource-ref>
<description>DB Connection</description>
<res-ref-name> jdbc/DBConnection </res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
注意res-ref-name填寫的內容要與在上文提到的JNDI Name名稱一致,就是連接池名。
基本上算是配置完了,其實還有一步沒做到位,我也是做到了這一步就直接測試,結果出現了一個錯誤:
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
如果你也出現了這個錯誤的話,那你隨我來。。。
打開%TOMCAT_HOME%/conf下面的context.xml,在</Context>的前面加上以下代碼:
<ResourceLink name="jdbc/DBConnection" global="jdbc/DBConnection" type="javax.sql.DataSource"/>
我加上這段代碼之後測試成功了,如果你還出現了錯誤的話那你看看是不是別的地方配置出錯了。

四.測試
Context ctx=new InitialContext();
  ds=(DataSource)ctx.lookup("java:comp/env/jdbc/DBConnection");
  Connection conn = ds.getConnection();
  就給你三句代碼了,夠了吧~~呵呵~祝你成功!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章