struts-config1.1.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的根元素,其他元素必須被包含其內 -->
<struts-config>

     <data-sources> 

      <!--

        名稱:data-sources

        描述:data-sources元素定義了web App所需要使用的數據源

        數量:最多一個

        子元素:data-source

        屬性:

                @key:當需要配置多個數據源時,相當於數據源的名稱,用來數據源彼此間進行區別

                @type:可以使用的數據源實現的類,一般來自如下四個庫

                            Poolman,開放源代碼軟件

                            Expresso,Jcorporate

                            JDBC Pool,開放源代碼軟件

                            DBCP,Jakarta

    -->

        <data-source key="firstOne" type="org.apache.commons.dbcp.BasicDataSource">

            <!--

                名稱:set-property

                描述:用來設定數據源的屬性

                屬性:

                   @autoCommit:是否自動提交 可選值:true/false

                   @description:數據源描述

                   @driverClass:數據源使用的類

                   @maxCount:最大數據源連接數

                   @minCount:最小數據源連接數

                   @user:數據庫用戶

                   @password:數據庫密碼

                   @url:數據庫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

        數量:最多一個

        子元素:form-bean

    -->

    <form-beans>

        <!--
            名稱:form-bean
            描述:用來配置ActionForm Bean

            數量:任意多個

            子元素:form-property

            屬性:

                  @className:指定與form-bean元素相對應的配置類,一般默認使用org.apaceh.struts.config.FormBeanConfig,如果自定義,則必須繼承 FormBeanConfig

                  @name:必備屬性!爲當前form-bean制定一個全局唯一的標識符,使得在整個Struts框架內,可以通過該標識符來引用這個ActionForm Bean。

                  @type:必備屬性!指明實現當前ActionForm Bean的完整類名。

         -->
         <form-bean name="Hello" type="myPack.Hello">

             <!--

                  名稱:form-property

                  描述:用來設定ActionForm Bean的屬性

                  數量:根據實際需求而定,例如,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

                描述:處理異常

                數量:最多一個

                子元素:exception

           -->
          <global-exceptions>

               <!--
                    名稱:exception
                    描述:具體定義一個異常及其處理
                    數量:任意多個
                    屬性:
                            @className:指定對應exception的配置類,默認爲org.apache.struts.config.ExceptionConfig

                            @handler:指定異常處理類,默認爲org.apache.struts.action.ExceptionHandler

                            @key:指定在Resource Bundle種描述該異常的消息key

                            @path:指定當發生異常時,進行轉發的路徑
                            @scope:指定ActionMessage實例存放的範圍,默認爲request,另外一個可選值是session

                            @type:必須要有!指定所需要處理異常類的名字

                            @bundle:指定資源綁定

                         -->

                         <exception

                                 key=""hello.error

                                 path="/error.jsp"

                                 scope="session"

                                 type="hello.HandleError"/>

          </global-exceptions>

          <!--

               名稱:global-forwards               

               描述:定義全局轉發

               數量:最多一個

               子元素:forward

        -->

        <global-forwards>

            <!--
                 名稱:forward

                 描述:定義一個具體的轉發

                 數量:任意多個

                 屬性:

                       @className:指定和forward元素對應的配置類,默認爲org.apache.struts.action.ActionForward
                       @contextRelative:如果爲true,則指明使用當前上下文,路徑以“/”開頭,默認爲false

                       @name:必須配有!指明轉發路徑的唯一標識符

                       @path:必須配有!指明轉發或者重定向的URI。必須以"/"開頭。具體配置要與contextRelative相應。

                       @redirect:爲true時,執行重定向操作,否則執行請求轉發。默認爲false

                -->

                <forward name="A" path="/a.jsp"/>

                <forward name="B" path="/hello/b.do"/>

            </global-forwards>

            <!--

                 名稱:action-mappings

                 描述:定義action集合

                 數量:最多一個

                 子元素:action

              -->

             <action-mappings>

                 <!--

                     名稱:action

                     描述:定義了從特定的請求路徑到相應的Action類的映射

                     數量:任意多個

                     子元素:exception,forward(二者均爲局部量)

                     屬性:

                            @attribute:制定與當前Action相關聯的ActionForm Bean在request和session範圍內的名稱(key)

                            @className:與Action元素對應的配置類。默認爲org.apache.struts.action.ActionMapping

                            @forward:指名轉發的URL路徑
                            @include:指名包含的URL路徑

                            @input:指名包含輸入表單的URL路徑,表單驗證失敗時,請求會被轉發到該URL中
                            @name:指定和當前Acion關聯的ActionForm Bean的名字。該名稱必須在form-bean元素中定義過。

                            @path:指定訪問Action的路徑,以"/"開頭,沒有擴展名

                            @parameter:爲當前的Action配置參數,可以在Action的execute()方法中,通過調用ActionMapping的getParameter()方法來獲取參數
                            @roles:指定允許調用該Aciton的安全角色。多個角色之間用逗號分割。處理請求時,RequestProcessor會根據該配置項來決定用戶是否有調用該Action的權限
                            @scope:指定ActionForm Bean的存在範圍,可選值爲request和session。默認爲session

                            @type:指定Action類的完整類名

                            @unknown:值爲true時,表示可以處理用戶發出的所有無效的Action URL。默認爲false

                            @validate:指定是否要先調用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

                   數量:最多一個
                   屬性:

                         @bufferSize:指定上傳文件的輸入緩衝的大小.默認爲4096

                         @className:指定當前控制器的配置類.默認爲org.apache.struts.config.ControllerConfig

                         @contentType:指定相應結果的內容類型和字符編碼

                         @locale:指定是否把Locale對象保存到當前用戶的session中,默認爲false
                         @processorClass:指定負責處理請求的Java類的完整類名默認org.apache.struts.action.RequestProcessor
                         @tempDir:指定文件上傳時的臨時工作目錄.如果沒有設置,將才用Servlet容器爲web應用分配的臨時工作目錄.
                         @nochache:true時,在相應結果中加入特定的頭參數:Pragma ,Cache-Control,Expires防止頁面被存儲在可數瀏覽器的緩存中,默認爲false
                -->
                <controller

                       contentType="text/html;charset=UTF-8"

                       locale="true"

                       processorClass="CustomRequestProcessor">

                </controller>

                <!--

                     名稱:message-resources

                     描述:配置Resource Bundle

                     數量:任意多個
                     屬性:
                           @className:指定和message-resources對應的配置類.默認爲org.apache.struts.config.MessageResourcesConfig
                           @factory:指定資源的工廠類,默認爲org.apache.struts.util.PropertyMessageResourcesFactory
               -->.

               <message-resources

                   null="false"
                   parameter="defaultResource"/>
               <!--

                   名稱:plug-in

                   描述:用於配置Struts的插件

                   數量:任意多個

                   子元素:set-property

                   屬性:

                         @className:指定Struts插件類.此類必須實現org.apache.struts.action.PlugIn接口

               -->

              <plug-in

                          className="org.apache.struts.validator.ValidatorPlugIn">

                    <!--
                         名稱:set-property

                         描述:配置插件的屬性

                         數量:任意多個
                         屬性:

                                 @property:插件的屬性名稱

                                 @value:該名稱所配置的值

                       -->

                      <set-property

                                 property="pathnames"

                                 value="/WEB-INF/validator-rules.xml,/WEB-INF/vlaidation.xml"/>

                    </plug-in>

</struts-config>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章