首页 新闻 会员 周边 捐助

tomcat5数据源配置需不需要在web.xml中引入资源

0
悬赏园豆:5 [已关闭问题] 关闭于 2011-12-08 19:43

今天配置数据源时碰到一个问题,把数据源配置在server.xml中,然后在web.xml中引入资源,运行程序,会抛出

org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'

异常,在conf\Catalina\localhost下建立一个myapp.xml文件,文件内容如下:

<?xml version='1.0' encoding='GBK'?>
<Context docBase="E:\\kunlun\\dbpool\\WebRoot" path="/dbpool" reloadable="true">
 <ResourceLink global="jdbc/dbpool" name="jdbc/dbpool" type="javax.sql.DataSource"/>
</Context>

再运行程序,就没问题了。

然后把web.xml中的resource-ref删掉,运行程序,正常。

 

接着把server.xml中的数据源配置删除,修改conf\Catalina\localhost下的myapp.xml,内容如下(web.xml中没有引入资源):

<?xml version='1.0' encoding='GBK'?>
<Context docBase="E:\\kunlun\\dbpool\\WebRoot" path="/dbpool" reloadable="true">
 <Resource auth="Container" name="jdbc/dbpool"
  type="javax.sql.DataSource" />
 <ResourceParams name="jdbc/dbpool">
  <parameter>
   <name>factory</name>
   <value>
    org.apache.commons.dbcp.BasicDataSourceFactory
   </value>
  </parameter>
  <parameter>
   <name>url</name>
   <value>jdbc:mysql://localhost:3306/myforum</value>
  </parameter>
  <parameter>
   <name>password</name>
   <value>admin</value>
  </parameter>
  <parameter>
   <name>maxWait</name>
   <value>1000</value>
  </parameter>
  <parameter>
   <name>maxActive</name>
   <value>100</value>
  </parameter>
  <parameter>
   <name>driverClassName</name>
   <value>com.mysql.jdbc.Driver</value>
  </parameter>
  <parameter>
   <name>username</name>
   <value>root</value>
  </parameter>
  <parameter>
   <name>maxIdle</name>
   <value>100</value>
  </parameter>
 </ResourceParams>
</Context>

运行程序,也是正常的。在两种正常的情况下,web.xml中都没有引入资源,我想问一下,配置数据源web.xml中要不要resource-ref,到底有什么用,网上查的资料都说要配一下,不过就这个情况看,好像没什么用。

我比较穷,只能给个5分了,嘿嘿,谁能帮忙解答下,谢谢

yin.kh的主页 yin.kh | 初学一级 | 园豆:200
提问于:2011-11-07 21:49
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册