Struts2自定义拦截器

首先应该先创建拦截器

拦截器:在struts2中拦截器的作用是动态拦截Action对象的调用,大部分时候拦截器使用的是Java中的代理机制来完成的,它能够在Action执行的前后执行一段代码,也能在Action执行之前将它进行拦截,同时也提供了一种可以提取Action中可重用部分代码的方式。

方式1:实现Interceptor接口

Struts2自定义拦截器
如图所示,要注意导入的包名,千万不要导错了。然后实现init,intercept,destroy三个方法。
Struts2自定义拦截器
下面在struts.xml中进行配置
Struts2自定义拦截器
为Action指定拦截器:
Struts2自定义拦截器

方式2:继承AbstractInterceptor类

与Interceptor类不同的是,AbstractInterceptor类实现了init和destroy方法,所以我们只需要实现interceptor方法。
Struts2自定义拦截器
配置文件和上一个方式相同就不重复写了。

方式3:继承MethodFilterInterceptor类

同AbstractInterceptor,它也实现了init,destroy方法,我们只需要实现doInterceptor方法即可,并且可以在配置文件中选择拦截和不拦截的方法。
Struts2自定义拦截器
Struts2自定义拦截器