feng

飘逸~~~~~life

struts 数据源问题

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类
基本配置可以参考下面
  <data-sources>
    <data-source key="bbsDB" type="org.apache.commons.dbcp.BasicDataSource">
      <set-property property="password" value="feng" />
      <set-property property="minCount" value="3" />
      <set-property property="maxCount" value="10" />
      <set-property property="username" value="root" />
      <set-property property="driverClassName" value="com.mysql.jdbc.Driver" />
      <set-property property="description" value="test" />
      <set-property property="url" value="jdbc:mysql://localhost:3306/bbs" />
      <set-property property="readOnly" value="false" />
      <set-property property="autoCommit" value="true" />
    </data-source>
  </data-sources>
另外还需要4个包  ,我也不知道为什么啊!书上的例子竟然没有提到,网上搜索后得知,
分别是
commons-dbcp-1.2.jar
commons-pool-1.2.jar
struts-legacy-1.0.jar
commons-collections-3.1.jar
把这四个jar包放到web应用的WEB-INF/lib目录下,还有要把
MySQL的驱动程序包也放到这里(也可以把数据库的驱动包放
到%Tomcat_Home%/common/lib目录下或%Resin_Home%/lib目录下,
这样在启动Web服务器的时候就会加载这个包,服务器和Web应用
都可以使用驱动程序类),好象少一个就会出错
!
调用的时候可以类似下面的使用
DataSource ds = getDataSource(request,"bbsDB");/*bbsDB就是上面的key*/
  Connection conn = ds.getConnection();
  Statement stmt = conn.createStatement();
  ResultSet rs = stmt.executeQuery("SQL String");
在Action类里面可以这样
ServletContext context = servlet.getServletContext();
  DataSource dataSource = (DataSource) context
    .getAttribute(Constants.DATASOURCE_KEY);
  DB db = new DB(dataSource);
来获得一个数据源,其实这里我有点不明白,但是可以这样用

posted on 2007-09-18 11:49 feng 阅读(1241) 评论(2)  编辑  收藏

Feedback

# re: struts 数据源问题 2007-09-19 17:17 Unmi

你看看struts1.3的config的dtd文件http://struts.apache.org/dtds/struts-config_1_3.dtd
就会发现,已经去除了<data-sources>标签了,也就是Struts已经不推在struts-config.xml文件配置数据库连接池,建议用应用服务器的连接池

我原来用struts1.2的时候也这么配置过,但这个连接池使用总会出问题,部署在WAS非得用应用服务器连接池配置不可。

所以建议还是更新一下吧。  回复  更多评论   

# re: struts 数据源问题 2007-09-19 20:18 feng

也是,用这个配置确实老是有问题的!谢谢了  回复  更多评论   



只有注册用户登录后才能发表评论。


网站导航: