struts2的攔截器(Interceptor)


1.      攔截器的配置:

a)       編寫實現Interceptor接口的攔截器類

b)       在struts.xml文件中定義攔截器

例:<interceptors>

                     <interceptorname="interceptor1"class="com.ebuair.interceptor.Interceptor1"></interceptor>

                     <interceptorname="interceptor2"class="com.ebuair.interceptor.Interceptor2"></interceptor>

       </interceptors>

c)       在action中使用攔截器

例:<interceptor-refname="interceptor1">

                            <paramname="parameter">hello,this is ebuair</param>

     </interceptor-ref>

           <interceptor-refname="interceptor2"></interceptor-ref>

           <interceptor-refname="defaultStack"></interceptor-ref>

d)       注意:一旦定義了自己的攔截器,將其配置到Action上後,我們需在Action的最後加上默認的攔截器棧:defaultStack。

e)       定義攔截器可以繼承AbstractInterceptor抽象類(該類實現了Interceptor接口,並對init和destory方法進行了空實現),然後實現其抽象方法intercept即可。

f)        方法過濾攔截器(可以對指定方法進行攔截的攔截器)。

如果在使用方法過濾攔截器時沒有指定includeMethos和excludeMethods參數,那麼所有方法都會被攔截,也就是說所有方法都被認爲是includeMethos的。

如果僅僅指定了includeMethos,那麼只會攔截includeMethos中定義的方法,沒有包含在includeMethos中的方法就不會被攔截。

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