对配置struts 1.2中的dbcp BasicDataSource数据源连接的一点补充

类别:Java 点击:0 评论:0 推荐:

前面的一些准备工作在下面的文章中已经叙述了:

(转)http://blog.csdn.net/ggjjzhzz/archive/2004/09/13/103346.aspx

对照上面的文章,我在tomcat 5.0.28中测试连接DB2数据库,在部署时即出错:

Cannot create JDBC driver of class 'COM.ibm.db2.jdbc.app.DB2Driver' for connect URL 'jdbc:db2:FTPDATA'

经过在网上的google和学习,终于解决了这个问题:

1、struts-config.xml中的datasource配置

 <data-sources>
 <data-source id="DS" key="DB2" type="org.apache.commons.dbcp.BasicDataSource">
  <set-property property="driverClassName" value="COM.ibm.db2.jdbc.app.DB2Driver"/>
  <set-property property="autoCommit" value="true"/>
  <set-property property="description" value="Ftp Data Source"/>
  <set-property property="user" value="db2admin"/> 
  <set-property property="password" value="db2admin"/>
  <set-property property="url" value="jdbc:db2:FTPDATA"/> 
 </data-source>
</data-sources>

需要注意的是,struts 1.2中的property “driveClassName”在struts 1.1中是“driverClass”,别搞错了。

我用的DB2是7.2,采用的是JDBC 2.0 driver,,所以要在C:\Program Files\SQLLIB\java12的目录下运行usejdbc2.bat,同时将该目录下的db2java.zip复制到你的web-inf的lib目录下,改后缀为jar。

2、配置web.xml

在web.xml中的最后加入:

<resource-ref>
        <description>IBM DB2 Connection</description>
        <res-ref-name>jdbc/FTPDATA</res-ref-name>
        <res-type>COM.ibm.db2.jdbc.app.DB2Driver</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>

说明:FTPDATA是数据源名称,在DB2 客户机配置工具中可以配置。

昨天晚上我调试时,根据网上的一些文章,加上这段resouce-ref就连通了。

但是今天早上,我不加这一段resource-ref,竟然也可以连通DB2,原以为在eclipse发布project时会在tomcat的server.xml中加入这一段resource-ref,但我在tomcat的server.xml中找不到。

所以这一点还要高手指点。

在eclipse 3.0的J2EE VIEW中启动apache tomcat 5.x后,第一次发布正常,可是当我修改了web.xml或其他程序再发布时,也会报类似的错:

Cannot create JDBC driver of class 'COM.ibm.db2.jdbc.app.DB2Driver' for connect URL 'jdbc:db2:FTPDATA'

这个问题,不知是否tocmat的bug,如果每次调试都要先停止server,再发布project,再启动server,真的很麻烦。

本文地址:http://com.8s8s.com/it/it15517.htm