天天看點

Struts2的常見的配置檔案介紹

1:package 定義一個包。 包作用,管理action。 (通常,一個業務模闆用一個包)

  常見屬性及其說明:

    (1)name  包的名字;以友善在其他處引用此包,此屬性是必須的。 包名不能重複;       

    (2)extends 目前包繼承自哪個包,用于聲明繼承的包。在struts中,包一定要繼承struts-default ;

        struts-default在struts-default.xml中定的包

   (3)abstract  表示目前包為抽象包; 抽象包中不能有action的定義,否則運作時期報錯

                    abstract=true  隻有當目前的包被其他包繼承時候才用!

                    如:

                        <package name="basePackage" extends="struts-default" abstract="true"></package>

                        <package name="user" extends="basePackage">

   (4) namespace   指定名稱空間,也就是通路此包下的Action需要通路的路徑,預設為"/"

                  作為路徑的一部分

                  通路路徑=  http://localhost:8080/項目/名稱空間/ActionName

2:action   配置請求路徑與Action類的映射關系,                                        常見屬性及其說明:

         (1)name  請求路徑名稱,用于配置Action對象被請求的URL映射

         (2)class 請求處理的aciton類的全名

         (3)method 請求處理方法,設定請求Action對象時,調用對象的哪一個方法。       

3:result                                                          常見屬性及其說明:

       (1)name  action處理方法傳回值 。

       (2)type  跳轉的結果類型,用于設定傳回結果的類型,如請求轉發,重定向等。

       (3)标簽體中指定跳轉的頁面。

 簡單的配置如下所示:

 4:通配符實作簡化配置

第一步:引包,略過,前面已經寫過

第二步:配置web.xml

第三步:開發action

第四步:配置struts.xml,先使用了普通的方法,後使用了通配符進行配置;

結果如下,通路的時候如此通路即可。

Struts2的常見的配置檔案介紹
Struts2的常見的配置檔案介紹

5:struts-default.xml詳解

目錄:struts-core.jar/struts-default.xml詳解

内容:

    (1):bean節點指定了struts在允許的時候建立的對象類型

    (2):指定struts-default包【使用者寫的package一樣要繼承此包】

    (3):package struts-default中定義了:

        a:跳轉的結果類型:

            dispatcher轉化,不指定預設為轉發;

            redirect重定向;

            redirectAction重定向到action資源;

            stream檔案下載下傳的時候使用;

        b:定義了所有的攔截器;

        定義了32個攔截器,

    為了攔截器引用友善,可以通過定義棧的方式引用攔截器

    此時如果引用了棧,棧中的攔截器都會被引用;

        c:預設執行的攔截器棧,預設執行的action;

            <default-interceptor-ref name="defaultStack"/>

            <default-class-ref class="com.opensymphony.xwork2.ActionSupport" />

6:攔截器,攔截器功能與過濾器功能類似

相同點和不同點:

    共同點:都是攔截資源的;

    不同點:攔截器,攔截所有資源都可以,包括.jsp,servlet,css,js,img等等,過濾器是servlet的概念,可已在struts中使用和servlet中使用;

               過濾器,隻攔截action請求;是struts的概念,攔截器隻在struts2中使用。          

7:struts2的執行流程

    伺服器啟動

    (1):附加元件目web.xml

    (2):建立struts核心過濾器,執行filter--->init()方法

        struts-default.xml---》核心功能的初始化;

        struts-plugin.xml---》struts的相關插件;

        struts.xml使用者編寫的配置檔案;

    通路:

        (3):使用者通路action,伺服器根據通路路徑名稱,找到對應的action配置,建立action對象。

        (4):執行預設的攔截器棧中定義的18個攔截器。

        (5):執行action的業務處理方法。