Tomcat中配置mysql數據源


上面的就是老師給我們的關於數據庫配置的文檔,看起來好像不長,但是有幾點需要特別注意,下面我就自己的理解來談談能關系到成敗的幾點,同時,將我出錯的原因說明一下。

1.先看這段配置:

<Context path="/test_datasource" docBase="test_datasource"  debug="5" reloadable="true" crossContext="true">

               <Resource name="jdbc/myoracle" auth="Container"

              type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"

              url="jdbc:oracle:thin:@127.0.0.1:1521:ora9"

              username="scott" password="tiger" maxActive="80" maxIdle="20"

              maxWait="-1"/>

    </Context>

</Host>

切忌要記住的是,這段一定要放在server.xml中</Host>的前面。我開始放錯了,放到了Host外面,就一直說驅動有問題。大多數的問題都是出在這段配置上的。path以及docBase中的量是你要部署的項目名稱,path也就是說將此項目放到了webapps文件夾下面了。以前有個習慣,就是先不部署工程,只是啟動tomcat,這次可吃了大虧了。因為不部署工程就找不到路徑下的工程,當然一直報錯了,所以,一個方面的經驗有時候會耽誤了做另一些相關的事情呢。Resource name可以修改,只要保證跟后面web.xml中的名稱一直就可以了。對於MySQL數據庫,driverClassName應該改為com.mysql.jdbc.Driver,url=jdbc:mysql://localhost:3306/test.這段對於學過JDBC的人們來說都不陌生,我就不多說了。我使用的是test數據庫。這個差不多就到這里吧。

2.配置web.xml文件

 難題來了,到底是哪一個呢?tomcat里面有,項目工程中也有,我開始的時候就直奔項目中的文件去了,因為server.xml沒有配置好,老是出問題,才發現tomcat里面的web.xml文件,改了還是不行。其實呢,應該是項目工程中的web.xml文件,在</webapp>前面添加:

 <resource-ref>

      <description>Oracle Datasource</description>

       <res-ref-name>jdbc/myoracle</res-ref-name>

       <res-type>javax.sql.DataSource</res-type>

       <res-auth>Container</res-auth>

  </resource-ref>

這里需要注意一下,name要與剛才配置的server.xml中的name絕對一致。

3.將MySQL數據庫連接驅動加到tomcat的lib下。

4.數據庫連接:Context ctx = new InitialContext();
   DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/myysql");
   conn=ds.getConnection();
   System.out.println("Connection pool connected!");

lookup中的參數我不是很清楚,只知道java:comp/env是必須有的,后面的內容就是數據源的名稱,也就是上面反復提到的name。這樣一來,就順利取到了Connection了,不過因為在web.xml中配置的數據源,所以不可能只是使用Javaapplication來判斷是否連接成功了。

好了,這樣就成功建立了連接了,其他的操作就與普通的JDBC操作相同了。不過有一點需要注意,一定要及時關閉數據庫的連接。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM