<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    泰仔在線

    java學習,心情日記,繽紛時刻
    posts - 100, comments - 34, trackbacks - 0, articles - 0

    Struts struts-config.xml 配置

    Posted on 2006-09-01 16:09 泰仔在線 閱讀(1474) 評論(2)  編輯  收藏 所屬分類: Java 相關
    作為Java web應用的四個知名配置文件,這里花了兩天時間完成了這個struts-config.xml文件的常用配置詳解.不求最全,但求實用.希望能給大家?guī)矸奖?
     
    關鍵字:Struts struts-config.xml 配置
     
    以下是一份完整的struts-config.xml文件,配置元素的說明詳見注釋.
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC
     "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
     "http://jakarta.apache.org/struts/dtds/struts-config.dtd">
    <!-- struts-config.xml中的元素必須按照上述doc指令中的dtd文檔定義順序書寫,本例即遵從了dtd定義順序 -->
    <!-- struts-config是整個xml的根元素,其他元素必須被包含其內(nèi) -->
    <struts-config>
     <!--
      名稱:data-sources
      描述:data-sources元素定義了web App所需要使用的數(shù)據(jù)源
      數(shù)量:最多一個
      子元素:data-source
     -->
     <data-sources>
      <!--
       名稱:data-source
       描述:data-source元素定義了具體的數(shù)據(jù)源
       數(shù)量:任意多個
       屬性:
        @key:當需要配置多個數(shù)據(jù)源時,相當于數(shù)據(jù)源的名稱,用來數(shù)據(jù)源彼此間進行區(qū)別
        @type:可以使用的數(shù)據(jù)源實現(xiàn)的類,一般來自如下四個庫
         Poolman,開放源代碼軟件
         Expresso,Jcorporate
         JDBC Pool,開放源代碼軟件
         DBCP,Jakarta
      -->
      <data-source key="firstOne" type="org.apache.commons.dbcp.BasicDataSource">
       <!--
        名稱:set-property
        描述:用來設定數(shù)據(jù)源的屬性
        屬性:
         @autoCommit:是否自動提交 可選值:true/false
         @description:數(shù)據(jù)源描述
         @driverClass:數(shù)據(jù)源使用的類
         @maxCount:最大數(shù)據(jù)源連接數(shù)
         @minCount:最小數(shù)據(jù)源連接數(shù)
         @user:數(shù)據(jù)庫用戶
         @password:數(shù)據(jù)庫密碼
         @url:數(shù)據(jù)庫url
       -->
       <set-property property="autoCommit" value="true"/>
       <set-property property="description" value="Hello!"/>
       <set-property property="driverClass" value="com.mysql.jdbc.Driver"/>
       <set-property property="maxCount" value="10"/>
       <set-property property="minCount" value="2"/>
       <set-property property="user" value="root"/>
       <set-property property="password" value=""/>
       <set-property property="url" value="jdbc:mysql://localhost:3306/helloAdmin"/>
      </data-source>
     </data-sources>
     
     <!--
      名稱:form-beans
      描述:用來配置多個ActionForm Bean
      數(shù)量:最多一個
      子元素:form-bean
     -->
     <form-beans>
      <!--
       名稱:form-bean
       描述:用來配置ActionForm Bean
       數(shù)量:任意多個
       子元素:form-property
       屬性:
        @className:指定與form-bean元素相對應的配置類,一般默認使用org.apaceh.struts.config.FormBeanConfig,如果自定義,則必須繼承 FormBeanConfig
        @name:必備屬性!為當前form-bean制定一個全局唯一的標識符,使得在整個Struts框架內(nèi),可以通過該標識符來引用這個ActionForm Bean。
        @type:必備屬性!指明實現(xiàn)當前ActionForm Bean的完整類名。
      -->
      <form-bean name="Hello" type="myPack.Hello">
       <!--
        名稱:form-property
        描述:用來設定ActionForm Bean的屬性
        數(shù)量:根據(jù)實際需求而定,例如,ActionForm Bean對應的一個登陸Form中有兩個文本框,name和password,ActionForm Bean中也有這兩個字段,則此處編寫兩個form-property來設定屬性
        屬性:
         @className:指定與form-property相對應的配置類,默認是org.apache.struts.config.FormPropertyConfig,如果自定義,則必須繼承FormPropertyConfig類
         @name:所要設定的ActionForm Bean的屬性名稱
         @type:所要設定的ActionForm Bean的屬性值的類
         @initial:當前屬性的初值
       -->
       <form-property name="name" type="java.lang.String"/>
       <form-property name="number" type="java.lang.Iteger" initial="18"/>
      </form-bean>
     </form-beans>
     
     <!--
      名稱:global-exceptions
      描述:處理異常
      數(shù)量:最多一個
      子元素:exception
     -->
     <global-exceptions>
      <!--
       名稱:exception
       描述:具體定義一個異常及其處理
       數(shù)量:任意多個
       屬性:
        @className:指定對應exception的配置類,默認為org.apache.struts.config.ExceptionConfig
        @handler:指定異常處理類,默認為org.apache.struts.action.ExceptionHandler
        @key:指定在Resource Bundle種描述該異常的消息key
        @path:指定當發(fā)生異常時,進行轉(zhuǎn)發(fā)的路徑
        @scope:指定ActionMessage實例存放的范圍,默認為request,另外一個可選值是session
        @type:必須要有!指定所需要處理異常類的名字。
        @bundle:指定資源綁定
      -->
      <exception
       key=""hello.error
       path="/error.jsp"
       scope="session"
       type="hello.HandleError"/>
     </global-exceptions>
     
     <!--
      名稱:global-forwards
      描述:定義全局轉(zhuǎn)發(fā)
      數(shù)量:最多一個
      子元素:forward
     -->
     <global-forwards>
      <!--
       名稱:forward
       描述:定義一個具體的轉(zhuǎn)發(fā)
       數(shù)量:任意多個
       屬性:
        @className:指定和forward元素對應的配置類,默認為org.apache.struts.action.ActionForward
        @contextRelative:如果為true,則指明使用當前上下文,路徑以“/”開頭,默認為false
        @name:必須配有!指明轉(zhuǎn)發(fā)路徑的唯一標識符
        @path:必須配有!指明轉(zhuǎn)發(fā)或者重定向的URI。必須以"/"開頭。具體配置要與contextRelative相應。
        @redirect:為true時,執(zhí)行重定向操作,否則執(zhí)行請求轉(zhuǎn)發(fā)。默認為false
      -->
      <forward name="A" path="/a.jsp"/>
      <forward name="B" path="/hello/b.do"/>
     </global-forwards>
     
     <!--
      名稱:action-mappings
      描述:定義action集合
      數(shù)量:最多一個
      子元素:action
     -->
     <action-mappings>
      <!--
       名稱:action
       描述:定義了從特定的請求路徑到相應的Action類的映射
       數(shù)量:任意多個
       子元素:exception,forward(二者均為局部量)
       屬性:
        @attribute:制定與當前Action相關聯(lián)的ActionForm Bean在request和session范圍內(nèi)的名稱(key)
        @className:與Action元素對應的配置類。默認為org.apache.struts.action.ActionMapping
        @forward:指名轉(zhuǎn)發(fā)的URL路徑
        @include:指名包含的URL路徑
        @input:指名包含輸入表單的URL路徑,表單驗證失敗時,請求會被轉(zhuǎn)發(fā)到該URL中
        @name:指定和當前Acion關聯(lián)的ActionForm Bean的名字。該名稱必須在form-bean元素中定義過。
        @path:指定訪問Action的路徑,以"/"開頭,沒有擴展名
        @parameter:為當前的Action配置參數(shù),可以在Action的execute()方法中,通過調(diào)用ActionMapping的getParameter()方法來獲取參數(shù)
        @roles:指定允許調(diào)用該Aciton的安全角色。多個角色之間用逗號分割。處理請求時,RequestProcessor會根據(jù)該配置項來決定用戶是否有調(diào)用該Action的權(quán)限
        @scope:指定ActionForm Bean的存在范圍,可選值為request和session。默認為session
        @type:指定Action類的完整類名
        @unknown:值為true時,表示可以處理用戶發(fā)出的所有無效的Action URL。默認為false
        @validate:指定是否要先調(diào)用ActionForm Bean的validate()方法。默認為true
       注意:如上屬性中,forward/include/type三者相斥,即三者在同一Action配置中只能存在一個。
      -->
      <action path="/search"
       type="addressbook.actions.SearchAction"
       name="searchForm"
       scope="request"
       validate="true"
       input="/search.jsp">
       <forward name="success" path="/display.jsp"/>
      </action>  
     </action-mappings>
     
     <!--
      名稱:controller
      描述:用于配置ActionServlet
      數(shù)量:最多一個
      屬性:
       @bufferSize:指定上傳文件的輸入緩沖的大小.默認為4096
       @className:指定當前控制器的配置類.默認為org.apache.struts.config.ControllerConfig
       @contentType:指定相應結(jié)果的內(nèi)容類型和字符編碼
       @locale:指定是否把Locale對象保存到當前用戶的session中,默認為false
       @processorClass:指定負責處理請求的Java類的完整類名.默認org.apache.struts.action.RequestProcessor
       @tempDir:指定文件上傳時的臨時工作目錄.如果沒有設置,將才用Servlet容器為web應用分配的臨時工作目錄.
       @nochache:true時,在相應結(jié)果中加入特定的頭參數(shù):Pragma ,Cache-Control,Expires防止頁面被存儲在可數(shù)瀏覽器的緩存中,默認為false
     -->
     <controller
      contentType="text/html;charset=UTF-8"
      locale="true"
      processorClass="CustomRequestProcessor">
     </controller>
     <!--
      名稱:message-resources
      描述:配置Resource Bundle.
      數(shù)量:任意多個
      屬性:
       @className:指定和message-resources對應的配置類.默認為org.apache.struts.config.MessageResourcesConfig
       @factory:指定資源的工廠類,默認為org.apache.struts.util.PropertyMessageResourcesFactory
       @key:
       @null:
       @parameter:
     -->
     <message-resources
      null="false"
      parameter="defaultResource"/>
     <message-resources
      key="images"
      null="false"
      parameter="ImageResources"/>
      
     <!--
      名稱:plug-in
      描述:用于配置Struts的插件
      數(shù)量:任意多個
      子元素:set-property
      屬性:
       @className:指定Struts插件類.此類必須實現(xiàn)org.apache.struts.action.PlugIn接口
     -->
     <plug-in
      className="org.apache.struts.validator.ValidatorPlugIn">
      <!--
       名稱:set-property
       描述:配置插件的屬性
       數(shù)量:任意多個
       屬性:
        @property:插件的屬性名稱
        @value:該名稱所配置的值
      -->
      <set-property
       property="pathnames"
       value="/WEB-INF/validator-rules.xml,/WEB-INF/vlaidation.xml"/>
     </plug-in>
     
    </struts-config>

    Feedback

    # re: Struts struts-config.xml 配置  回復  更多評論   

    2006-09-06 18:34 by sun7bear
    <data-sources>
    <data-source key="mssqldb" type="org.apache.commons.dbcp.BasicDataSource">
    <set-property property="autoCommit" value="true" />
    <set-property property="description" value="MySQL" />
    <set-property property="driverClass" value="com.mysql.jdbc.Driver" />
    <set-property property="maxCount" value="10" />
    <set-property property="minCount" value="2" />
    <set-property property="user" value="root" />
    <set-property property="password" value="xxmi.com" />
    <set-property property="url" value="jdbc:mysql://localhost:3306/user/" />
    </data-source>
    </data-sources>
    我想問一下為什么我在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.

    # re: Struts struts-config.xml 配置  回復  更多評論   

    2006-09-07 09:34 by kxx129
    你報的這個錯誤我好像還沒有注意過,但用org.apache.commons.dbcp.BasicDataSource有兩點要注意:
    1 。在使用該驅(qū)動時,driverClass屬性應改為driverClassName;user屬性應改為username;這是用這種驅(qū)動跟其他驅(qū)動不同的,你可以改了試試
    2。在使用該驅(qū)動時,一般都不會忘記導入mysql驅(qū)動,但是容易忘了還需要導入commons-dbcp-1.2.1.jar包,才能使用其中的org.apache.commons.dbcp.BasicDataSource驅(qū)動,這個包一般在tomcat里面有(我用的是jakarta-tomcat-5.0.28),有時候還需要同時導入commons-pool-1.2.jar、commons-collections-3.1.jar協(xié)同使用,你看你有沒有注意這些。
    附:
    我的一個小玩意的struts-config.xml文件的data-sources配置如下:
    <data-sources >
    <data-source type="org.apache.commons.dbcp.BasicDataSource">
    <set-property property="description" value="Mysql DataSource" />
    <set-property property="driverClassName" value="com.mysql.jdbc.Driver" />
    <set-property property="url" value="jdbc:mysql://localhost:3306/yusn" />
    <set-property property="username" value="root" />
    <set-property property="password" value="admin" />
    <set-property property="maxCount" value="5" />
    <set-property property="minCount" value="1" />
    </data-source>
    </data-sources>
    主站蜘蛛池模板: 亚洲国产精品无码久久久蜜芽| 亚洲中文无码mv| 在线视频观看免费视频18| 亚洲中文字幕无码中文字| 亚洲国产专区一区| 中文字幕亚洲免费无线观看日本 | 嫩草在线视频www免费观看| 亚洲国产电影在线观看| 天堂亚洲免费视频| 99re6热视频精品免费观看| 亚洲国产AV无码一区二区三区| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 色se01短视频永久免费| 边摸边吃奶边做爽免费视频99 | 亚洲国产精品久久人人爱| 免费看小12萝裸体视频国产| 无码人妻精品中文字幕免费| 亚洲av无码成人精品区一本二本| 亚洲欧洲国产日韩精品| 成人亚洲综合天堂| 国产日本一线在线观看免费| 最近中文字幕大全免费版在线 | 免费的涩涩视频在线播放| 成在人线av无码免费高潮喷水 | 九九精品免费视频| a级成人毛片免费视频高清| 亚洲AV无码一区二区乱子仑| 久久久亚洲欧洲日产国码aⅴ | 久久精品国产亚洲一区二区三区| 毛片A级毛片免费播放| 免费不卡在线观看AV| 精品国产福利尤物免费| 相泽南亚洲一区二区在线播放| 亚洲色av性色在线观无码| 久久国产成人亚洲精品影院 | 免费av欧美国产在钱| 色欲A∨无码蜜臀AV免费播| v片免费在线观看| 亚洲av无码有乱码在线观看| 亚洲av无码片在线观看| 久久亚洲精品成人无码网站|