struts 数据源问题

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);
来获得一个数据源,其实这里我有点不明白,但是可以这样用

你可能感兴趣的:(struts 数据源问题)