关于配置数据库连接池的一个方法

来源:互联网 发布:软件三层架构图 编辑:程序博客网 时间:2024/06/05 18:25

以前学用Myeclipse开发Java Web应用,,服务器用Tomcat。用Myeclipse开发,新建的Web工程,都能在Tomcat的webapp文件夹下看到。于是在conf文件夹下的server.xml中配置全局数据库连接池也有些底。

 

传统的配置方法:在server.xml文件中找到<host></host>节,向其中加入如下代码:

 

<Context path="/Study" docBase="Study" reloadable="true" crossContext="true">
    <Resource name="jdbc/webdb" auth="Container"
     type="javax.sql.DataSource"
     driverClassName="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost:3306/webdb?characterEncoding=UTF-8"
     username="root"
     password="123456"
     maxActive="200"
     maxIdle="50"
     maxWait="3000"/>    

 </Context>

 

在写<context>属性时,path是web访问路径,docBase是本地地址,就是开发工具新建的那个工程在电脑中的具体位置比如工程叫Study,在D盘,就是D:/Study。因为Myeclipse会把工程文件夹放在Tomcat的webapp下,所以可以直接写Study。

 

 

但是用eclipse开发,就不会这样,用eclipse建的web工程在Tomcat里看不到。他自己有服务器的管理,也不用在外部把服务器打开,只要Run on server(第一次要配置)就会同步打开。所以配置全局数据库连接池docBase就难设置了,虽说是指定具体路径就好,比如

D://eclipse3.5_workspace/Study。但不知为什么,有时就是连不上,显示Cannot create JDBC driver of class '' for connect URL 'null',我有次就配了一个下午都不行。后来终于在网上找到一个方法成功了,赶快写下来与大家分享。

用eclipse开发:

在工程的WebContent文件夹下的META-INF子文件夹下新建一个context.xml文件,加入如下代码:

<Context>
    <Resource name="jdbc/webdb" auth="Container"
     type="javax.sql.DataSource"
     driverClassName="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost:3306/webdb?characterEncoding=UTF-8"
     username="root"
     password="123356"
     maxActive="200"
     maxIdle="50"
     maxWait="3000"/>   
</Context>

<Context>都不用指定什么属性,反正都是在自己的工程里。然后还是老规矩,把工程里WEB-INF文件夹下的web.xml改好

 <resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/webdb</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref>

这个就不用解释什么了吧。

如此,Run on server就行了。

那天下午这是我试的最后一种方法了,如果还不行我也没辙了,希望大家有其它好方法的多多分享!!

原创粉丝点击