struts2.0 struts.xml和STRUTS的config.xml詳解

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" >
<struts>

    <!-- include節點是struts2中組件化的方式 可以將每個功能模塊獨立到一個xml配置文件中 然後用include節點引用 -->
    <include file="struts-default.xml"></include>
   
   
    <!-- package提供了將多個Action組織爲一個模塊的方式
         package的名字必須是唯一的 package可以擴展 當一個package擴展自
         另一個package時該package會在本身配置的基礎上加入擴展的package
         的配置 父package必須在子package前配置
         name:package名稱
         extends:繼承的父package名稱
         abstract:設置package的屬性爲抽象的 抽象的package不能定義action 值true:false
         namespace:定義package命名空間 該命名空間影響到url的地址,例如此命名空間爲/test那麼訪問是的地址爲http://localhost:8080/struts2/test/XX.action
     -->
    <package name="com.kay.struts2" extends="struts-default" namespace="/test">
        <interceptors>
            <!-- 定義攔截器
                 name:攔截器名稱
                 class:攔截器類路徑
             -->
            <interceptor name="timer" class="com.kay.timer"></interceptor>
            <interceptor name="logger" class="com.kay.logger"></interceptor>
            <!-- 定義攔截器棧 -->
            <interceptor-stack name="mystack">
                <interceptor-ref name="timer"></interceptor-ref>
                <interceptor-ref name="logger"></interceptor-ref>
            </interceptor-stack>
        </interceptors>
       
        <!-- 定義默認的攔截器 每個Action都會自動引用
          如果Action中引用了其它的攔截器 默認的攔截器將無效 -->
        <default-interceptor-ref name="mystack"></default-interceptor-ref>
       
       
        <!-- 全局results配置 -->
        <global-results>
            <result name="input">/error.jsp</result>
        </global-results>
       
        <!-- Action配置 一個Action可以被多次映射(只要action配置中的name不同)
              name:action名稱
              class: 對應的類的路徑
              method: 調用Action中的方法名
        -->
        <action name="hello" class="com.kay.struts2.Action.LoginAction">
            <!-- 引用攔截器
                 name:攔截器名稱或攔截器棧名稱
             -->
            <interceptor-ref name="timer"></interceptor-ref>
       
            <!-- 節點配置
                 name : result名稱 和Action中返回的值相同
                 type : result類型 不寫則選用superpackage的type struts-default.xml中的默認爲dispatcher
             -->
         <result name="success" type="dispatcher">/talk.jsp</result>
         <!-- 參數設置
              name:對應Action中的get/set方法
         -->
         <param name="url">http://www.sina.com</param>
        </action>
    </package>
</struts>

 


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

<!–
名稱:data-sources
描述:data-sources元素定義了web App所需要使用的數據源
數量:最多一個子元素:data-source
–>
<data-sources>
<!–
名稱:data-source
描述: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
@key:
@null:
@parameter:
–>
<message-resources
null=”false”
parameter=”defaultResource”/>
<message-resources
key=”images”
null=”false”
parameter=”ImageResources”/>

<!–
名稱: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>

 

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/frone/archive/2009/12/21/5046770.aspx

發佈了0 篇原創文章 · 獲贊 6 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章