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 閱讀(1253) 評論(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

          也是,用這個配置確實老是有問題的!謝謝了  回復  更多評論   



          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 长寿区| 石阡县| 黄大仙区| 开封县| 长岭县| 泊头市| 屯留县| 柞水县| 宁波市| 中山市| 大埔县| 蒲江县| 仪陇县| 内江市| 确山县| 嘉鱼县| 渑池县| 衢州市| 肇东市| 邯郸县| 屯昌县| 长治市| 柳江县| 拜泉县| 信宜市| 乌拉特中旗| 左权县| 嘉鱼县| 昌宁县| 灵台县| 诸暨市| 广饶县| 岑巩县| 安康市| 永寿县| 尚志市| 庄河市| 太谷县| 哈密市| 洪雅县| 新建县|