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中的方法就不会被拦截。