struts2 -----interceptor-stack

136 阅读1分钟

简单说下什么是interceptor 在下述场景中,第2点就是interceptor的角色和作用

1,拦截目标对象(被代理对象),这里目标对象就是action;

2,拦截器(一个类,动态的将某些方法插入到目标对象的某方法的before、after);

3,对目标对象生成的(动态)代理对象(代理对象内部方法综合了目标对象方法+拦截器方法)。程序最终执行的是目标对象的代理,而这个代理已经插入了interceptor。

ps: 打个比方 程序跟外界请求只通过一个口, 这个口既是入口也是出口。 拦截器就像门口的守卫 你进来 要通过守卫甲 、守卫乙; 出去要先通过守卫乙,再通过守卫甲。

interceptor-stack : 包含一组 interceptors