今天用
myeclipse
在
struts
配置
mysql
的数据源时
,
老是提示找不到
driver,
就上网求助
,
终于找到了解决方法
.
直接在
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
需要的是
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.
action调用:DataSource ds=getDataSource(request,"datasource");
MSSQLServer2000数据源配置
<data-sources>
<data-source key="datasource" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver" />
<set-property property="url" value="jdbc:microsoft:sqlserver://localhost:1433;databaseName=zzb" />
<set-property property="username" value="sa" />
<set-property property="password" value="" />
<set-property property="maxActive" value="10" />
<set-property property="maxWait" value="5000" />
<set-property property="defaultAutoCommit" value="false" />
<set-property property="defaultReadOnly" value="false" />
</data-source>
</data-sources>
MySQL数据源配置
<data-sources >
<data-source key="datasource" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="password" value="1234" />
<set-property property="minCount" value="1" />
<set-property property="maxCount" value="10" />
<set-property property="username" value="root" />
<set-property property="driverClassName" value="org.gjt.mm.mysql.Driver" />
<set-property property="description" value="for struts attack aolution" />
<set-property property="url" value="jdbc:mysql://localhost:3306/attack" />
<set-property property="readOnly" value="false" />
<set-property property="autoCommit" value="true" />
</data-source>
</data-sources>
调用的时候在
Action
里面
getDataSource(request,"
datasource
");
这个datasource就是上面那个
key
值,2者要对应
,OK!!!
注意commons-collections.jar ,commons-pool.jar,commons-dbcp.jar还有数据库驱动一定要注意拷贝到tomcat/common/lib里面, commons-collections.jar ,commons-pool.jar,commons-dbcp.jar由Tomcat自带,已经在上面的目录中了,其实只要将数据库驱动放进去就可以了. commons-collections.jar ,commons-pool.jar,commons-dbcp.jar如果没有的话去apache网站下就可以了