struts2拦截器流程详解
1、struts2的拦截器可以在一切访问action方法之前 进行拦截处理。新建一个拦截器处理类

2、说明:拦截器处理类需要继承 extends AbstractiInterceptor并实现intercept(ActionInvocation invocation)方法此方法为拦截器处理数据的主要防范,处理完毕之后,继续执行,则返回 return invocation.invoke();

3、新建一个普通的action方法,

4、action中输出一句话,表示执行过了这个action

5、接下来做拦截器配置<interceptors> <interceptor name="inteceptor1" class="com.test.interceptor.interceptor1"/></interceptors>定义了拦截器的名称叫做inteceptor1,实现类为 com.test.interceptor.interceptor1

6、配置完毕拦截器后,需要把这个拦截器作用于你要拦截的方法中去,并且struts2默认的拦截器栈也要显式声明 <interceptor-ref name="interceptor1"></interceptor-ref><interceptor-ref name="defaultStack"></interceptor-ref>注意:自定义拦截器在之前

7、接下来访问测试的action,会发现,先执行拦截器,然后再执行action


8、但是如果我有N多个action 每个都要配置struts2的默认拦截器栈。那么我们可以定义默认的拦截器栈:<!-- 定义默认拦截器 --> <default-interceptor-ref name="defaultStack"></default-interceptor-ref>效果和上边是一样的
