什么是拦截器、拦截器栈?

Interceptor拦截器类似于我们前面学过的过滤器,是可以在action执行前后执行的代码。是我们做web开发时经常用的技术。比如:权限控制、日志等。我们也可以将多个Interceptor连在一起组成Interceptor栈。

 

Struts2拦截器,每个拦截器类只有一个对象实例,即采用单例模式,所有引用这个拦截器的Action都共享这一拦截器类的实例,因此,在拦截器中如果使用类变量,要注意同步问题。

 

•       拦截器是在访问某个方法,字段之前或之后实施拦截。

•       拦截器是AOP的一种实现

•       拦截器栈(Interceptor Stack)

–      拦截器栈就是将拦截器按一定的顺序联结成一条链。

–      在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。

•       实现原理

–      Struts2拦截器的实现原理相对简单,当请求struts2的action时,Struts 2会查找配置文件,并根据其配置实例化相对应拦截器对象,然后串成一个列表,最后一个一个地调用列表中的拦截器。

你可能感兴趣的:(struts)