struts2拦截器配置

Struts2框架的大部分功能都是通过拦截器来完成的。默认情况下所以的package都会继承默认的struts-default包,这样就可以使用Struts的大量默认拦截器。

 

1、自定义全局拦截器

   在Struts.xml里增加 <interceptor name="拦截器别名" class="拦截器实现类" >

 为其他包引用的方便可以把多个拦截器放在一起,组成拦截器栈:

 

  <interceptor-stack name="拦截器栈别名">

       <interceptor name="拦截器别名1" class="拦截器实现类" >

       <interceptor name="拦截器别名2" class="拦截器实现类" >

  </interceptor-stack>

 

2、在action中使用拦截器

 <action name="" class=""  extends="struts-default">

    <interceptor-ref="拦截器栈别名">

</action>

 

3、配置默认的拦截器(每个包只能定义一个默认拦截器)

  当配置一个包后,可以为其指定特定的拦截器。这样如果该包中的ACTION没有配置拦截器,那么默认的拦截器将起作用

<default-interceptor-ref name="拦截器栈别名">

 

4、实现拦截器需继承AbstractInterceptor类

 

5、在默认情况下,如何某个Action定义了拦截器,这个拦截器会拦截Action的所以方法,如果不想拦截所以方法,可以使用Struts2的方法过滤特性。

 <action name="" class=""  extends="struts-default">

    <interceptor-ref="拦截器栈别名">

   <param name="excludeMethods">拦截器别名1,拦截器别名2</param>   < ————屏蔽的拦截

   <param name="includeMethods">拦截器别名2</param>                      <————开启拦截

</action>

  6、Struts2拦截器的执行顺序

   并不是先配置的先拦截,在execute方法执行前的动作按顺序拦截,在execute方法执行之后的动作逆序执行,也就是说配置在后面的先执行。

posted @ 2017-04-10 22:30  白夜梦想家  阅读(132)  评论(0编辑  收藏  举报