日期:2014-05-16  浏览次数:20715 次

myeclipse在struts中配置mysql的datasource

myeclipse在struts中配置mysql的datasource
一、
  直接在struts-config.xml中右键data-sources 然后New。 默认的type是: org.apache.struts.util.GenericDataSource(但是我用MYECLIPSE5.5直接生成的这个类找不到,我把这个类改为org.apache.struts.legacy.GenericDataSource,该类位于struts-legacy.jar中,则一切OK) ,struts自带的一个数据库连接池。然后正确输入各种property的value。测试,好用。

如果将type选择为: org.apache.commons.dbcp.BasicDataSource 这个DBCP的数据库连接池。然后键入正确的value。测试,提示各种异常找不到Driver。(这个需要下载另外的几个jar包。)

查看DBCP的文档,发现MYECLIPSE生成的配置XML元素有问题。

DBCP需要的是driverClassName和username这两个properties。而Myeclipse自动生成的是driverClass和user这两个properties。改过来之后发现DBCP的数据库连接池也好用了,这应该不算是MYECLIPSE开发struts的一个BUG,只是因为其数据库连接池的配置是按照struts原先默认的GenericDataSource来的。
总结:
  myeclipse自动生成的strust-config.xml有几点要注意:

1.driverClassName不是driverclass;

2.username不是user

3.不要设置loginTimeout.

需要下载的几个jar包:commons-dbcp.jar,commons-pool.jar,struts-legacy.jar,commons-collections.jar

注意commons-collections.jar,commons-pool.jar,commons-dbcp.jar,struts-legacy.jar还有数据库驱动一定要注意拷贝到tomcat/common/lib里面,或者web应用程序的web-inf/lib目录下。不要放到Java安装目录的lib目录下边,因为会有冲突!
  如果沒有这几个包文件,就会出现类似以下的错误:

2007年12月20日 下午03:22:26 org.apache.struts.action.ActionServlet initModuleDataSources

严重的: Initializing application data source mysqlDB

java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource


另外,struts1.2在使用struts-config.xml中的 <data-sources>来配置数据源的时候,要是配置不正确的话,会发生一些奇怪的错误,在提交表单的时候可能会出现

type:Status report
  message:Servlet action is not available
  description:The requested resource (Servlet action is not available) is not available。
  这样的错误 ,也就是找不到action类。原因可能也是缺少上述几个jar包和数据库驱动包。


我的异常网推荐解决方案:java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource,http://www.aiyiweb.com/j2ee/182233.html