前言
都知道网站安全很重要,特别是网站后台。网站后台可以对网站信息进行管理,但是如果没有登录就可以直接访问管理页,那风险就大了去了。所以在进入管理页之前,一定要做登录验证,这时Struts2的拦截器就可以很好的发挥作用了。
Struts2拦截器
拦截器是Struts2的核心,可以在Action和result进行之前或之后进行处理。它是基于AOP的原理实现的,面向切面编程使得拦截器和实现类的耦合性更低。
实现原理
拦截器是在Action提交之前,动态的拦截Action,然后查询配置文件,如果当前的Action配置了拦截器,那么就相应的实例化出拦截器对象,并串联成表,最后一个一个调用拦截器。
如何使用
1、定义拦截器
在你的项目中创建类包,然后创建拦截器类,拦截器可以实现Interceptor接口,然后实现里面的init、destroy和intercept方法。其实最主要的是实现intercept方法,因为它是拦截器主要执行的方法。在这里是继承了MethodFileterInterceptor类,在这个类里面有一个doIntercept方法,用ActionInvocation的invoke方法来执行拦截器。执行时是判断Session中是否存在用户,如果存在表示用户已经登录,可以进入管理页;如果不存在,表示没有登录,提示并返回登录页面。
public class Privilege