2013年9月18日 星期三

[Struts2] Interceptor

struts2 重點在於加入 MVC
所以 interceptor 是和 struts1 很大的不同處


struts2 中有預設的 interceptor
package struts-default
name defaultStack

當我們的 package extends struts-default 就繼承了 struts-default 中的所有設定!


ActionInvocation: 包裝所有與 Action 執行有關資訊的物件
在開發 interceptor 時,我們並不會直接的與 ActionInvocation 物件互動,而是間接的與 ActionInvocation 有關係!
當我們的 framework 接收到一個使用者的 request 時,Struts2 framework 會根據使用者呼叫的 URL 來 mapping 所對應的 Action,並將此 Action 的相關資訊加入到 ActionInvocation 物件中,接著 Struts2 framework 就會搜尋所有 configuration file 中的所有 interceptors 並且加到 ActionInvocation 中,幫助 ActionInvocation 走訪所有的 interceptors。



    
    
        
    
     .......

    
    
        
    

    
    
        
            dojo\..*        
    
      ..........     





    
    
    /WEB-INF/pages/finish.jsp



* Reference
- [Struts2] Introduce Interceptor
- [Struts2] 宣告與設定 Interceptors
- [Struts2] 深入探討 Interceptor

沒有留言:

張貼留言