[Struts] One bug of setting data source with Myeclipse+Struts

来源:互联网 发布:温州网络学堂播放屏蔽 编辑:程序博客网 时间:2024/04/29 14:31

Today, i finished one module at struts. At firstly, all the db connetion come from jdbc without using datasouce of struts, then i add one datasource and modified some codes. But what is boring is out of running.

I google "struts data source myeclipse" and got answer.

----------------------------------------------------------------------------------------------------------

我想这算个BUG吧。
 
直接在struts-config.xml中右键data-sources然后New。
默认的type是:
org.apache.struts.util.GenericDataSource
struts自带的一个数据库连接池。
然后正确输入各种property的value。
测试,好用。
 
如果将type选择为:
org.apache.commons.dbcp.BasicDataSource
这个DBCP的数据库连接池。
然后键入正确的value
测试,提示各种异常&找不到Driver
 
查看DBCP的文档,发现MYECLIPSE生成的配置XML元素有问题。
DBCP需要的是driverClassNameusername这两个propertys
Myeclipse自动生成的是driverClassuser这两个propertys
 
改过来之后发现DBCP的数据库连接池也好用了:)
这应该算是MYECLIPSE开发struts的一个BUG吧,数据库连接池的配置是按照struts默认的GenericDataSource来的。如果能动态的在选择数据库连接池的时候,找寻set()/get()方法来生成属性的名字应该更好。
也看出来不同的数据库连接池在命名规则方面存在的一些差异。
其实很简单的东西,我却花费了半天的时间,原因是我太相信工具了,以为生成的东西一定是正确的,所以一直在想是不是别的方面出错了。得到这次教训之后,要更加清晰的对工具持怀疑态度了。不能太过相信和依靠,还是自己对这些技术的了解最重要。
 
PS:TOMCAT有自带DBCP。不过我是自己从jakarta上面下的commons dbcp放到自己的lib里面的,当然,官方doc上面有这样的说明:
Commons-DBCP depends at runtime on commons-pool andcommons-collections .
所以记得要把这两项也下回来和dbcp的jar文件一起放进lib才能保证不出错。
总之,认真+心细,才能更好的解决问题。
 
 
本文环境:
Win2003  + jdk1.5.0_01
Tomcat 5.5
+  MySql4.1
Eclipse
3.0.1 + Myeclipse3.8.4
本文提到的一些软件的下载地址:
J2SE 5.0(SUN弄的这些乱七八糟的名字真讨厌,混乱的感觉):
http://java.sun.com/j2se/1.5.0/download.jsp
Tomcat
http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi

MySql4.1

http://dev.mysql.com/downloads/

Eclipse

http://www.eclipse.org/downloads/index.php

Jakarta commons
(DBCP和其所需要的commonspool和commons collections都是在这里下):
http://jakarta.apache.org/site/downloads/downloads_commons.html
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=371856

----------------------------------------------------------------------------------------------------------