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

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



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


          網站導航:
           
          主站蜘蛛池模板: 淄博市| 蒙自县| 盐边县| 当阳市| 岳普湖县| 宁远县| 区。| 胶南市| 桐庐县| 梁山县| 建昌县| 通辽市| 沙河市| 梁平县| 镶黄旗| 双柏县| 南乐县| 棋牌| 屏南县| 德令哈市| 济阳县| 青河县| 山西省| 句容市| 石首市| 武功县| 泾川县| 章丘市| 荣成市| 醴陵市| 襄樊市| 汕尾市| 平南县| 邵阳市| 惠来县| 句容市| 隆德县| 桃江县| 万全县| 三穗县| 樟树市|