struts2中***分為struts2定義好的***和自定義的***。其作用是在乙個action執行之前進行攔截,在action執行之後又加入某些操作。
當請求乙個action時,struts2會查詢配置檔案,並根據這個action的配置例項化對應的***物件,然後串成乙個列表(list),最後乙個乙個地呼叫列表中的***。
1、對action進行預處理。(正序執行)
2、***自身決定該不該執行後續的***(由invoke()方法的返回值決定)。
3、對action進行後期處理。(倒序執行)
方法一:實現interceptor介面,重寫其方法
package org.test.interceptor;
import com.opensymphony.xwork2.actioninvocation;
import com.opensymphony.xwork2.interceptor.interceptor;
public class testinterceptor1 implements interceptor
@override
public void destroy()
@override
public void init()
@override
public string intercept(actioninvocation invocation) throws exception
}方法二:繼承methodfilterinterceptor類,重寫dointercept()方法
1.***按其在action中加入的先後順序依次被呼叫,這裡先呼叫testinterceptor1,後呼叫testinterceptor2。
2.當所有的***執行完了之後才執行action
3.然後從action依次往上乙個呼叫點後退,從testaction退到testinterceptor2,從testinterceptor2退到testinterceptor1。
來一張圖理解
Struts2學習筆記
1.不繼承,不介面 2.繼承actionsupport類 3.介面action介面 4.我們可以使用modeldriven模式 5.我們可以自己編寫bean進行struts2的擴充套件,但是 一般不需要,因為struts2的功能已經很強大了!6.我們可以將default.properties檔案中的...
Struts2學習筆記
structs修改後自動更新 action執行的時候並不一定要執行execute方法 method add user add success.jsp user add success.jsp 可以在配置檔案中配置action的時候用method 來指定執行哪個方法 user useradd 新增使用...
struts2學習筆記
xml 配置大都是通過 複製 貼上 修改 得到。其中此處 永遠是 url pattern url pattern struts.xml 內 action name hello action 一般用小寫。xml 內寫 時內自動提示設定 原始檔路徑不能有中文。此處複製了乙份dtd檔案到d myeclii...