feng

          飄逸~~~~~life

          struts 數(shù)據(jù)源問題

          struts1.2
          在使用struts-config.xml中的 <data-sources>來配置數(shù)據(jù)源的時(shí)候,
          要是配置不正確的話,會(huì)發(fā)生一些奇怪的錯(cuò)誤,在提交表單的時(shí)候可能會(huì)出現(xiàn)
          type Status report

          message Servlet action is not available

          description The requested resource (Servlet action is not available) is not available.

          這樣的錯(cuò)誤 ,也就是找不到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個(gè)包  ,我也不知道為什么??!書上的例子竟然沒有提到,網(wǎng)上搜索后得知,
          分別是
          commons-dbcp-1.2.jar
          commons-pool-1.2.jar
          struts-legacy-1.0.jar
          commons-collections-3.1.jar
          把這四個(gè)jar包放到web應(yīng)用的WEB-INF/lib目錄下,還有要把
          MySQL的驅(qū)動(dòng)程序包也放到這里(也可以把數(shù)據(jù)庫的驅(qū)動(dòng)包放
          到%Tomcat_Home%/common/lib目錄下或%Resin_Home%/lib目錄下,
          這樣在啟動(dòng)Web服務(wù)器的時(shí)候就會(huì)加載這個(gè)包,服務(wù)器和Web應(yīng)用
          都可以使用驅(qū)動(dòng)程序類),好象少一個(gè)就會(huì)出錯(cuò)
          !
          調(diào)用的時(shí)候可以類似下面的使用
          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);
          來獲得一個(gè)數(shù)據(jù)源,其實(shí)這里我有點(diǎn)不明白,但是可以這樣用

          posted on 2007-09-18 11:49 feng 閱讀(1253) 評論(2)  編輯  收藏

          Feedback

          # re: struts 數(shù)據(jù)源問題 2007-09-19 17:17 Unmi

          你看看struts1.3的config的dtd文件http://struts.apache.org/dtds/struts-config_1_3.dtd
          就會(huì)發(fā)現(xiàn),已經(jīng)去除了<data-sources>標(biāo)簽了,也就是Struts已經(jīng)不推在struts-config.xml文件配置數(shù)據(jù)庫連接池,建議用應(yīng)用服務(wù)器的連接池

          我原來用struts1.2的時(shí)候也這么配置過,但這個(gè)連接池使用總會(huì)出問題,部署在WAS非得用應(yīng)用服務(wù)器連接池配置不可。

          所以建議還是更新一下吧。  回復(fù)  更多評論   

          # re: struts 數(shù)據(jù)源問題 2007-09-19 20:18 feng

          也是,用這個(gè)配置確實(shí)老是有問題的!謝謝了  回復(fù)  更多評論   



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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 安仁县| 扎赉特旗| 葫芦岛市| 南京市| 昌邑市| 北宁市| 集贤县| 沙洋县| 沂南县| 瓦房店市| 静宁县| 保亭| 开平市| 兖州市| 昌吉市| 石嘴山市| 黔西县| 保德县| 三亚市| 湘西| 田林县| 崇信县| 怀仁县| 磐安县| 大关县| 五家渠市| 盱眙县| 当涂县| 凤阳县| 黄石市| 上饶市| 新蔡县| 政和县| 乐清市| 新化县| 赣榆县| 图片| 红原县| 龙南县| 手游| 德格县|