一、拦截器
拦截器,在AOP中用于在某个方法或者字段被访问之前,进行拦截然后在之前或者之后加入某些操作。拦截是AOP的一种实现策略。
在Webwork的中文文档解释为——拦截器是动态拦截action调用的对象。它提供了一种机制可以使开发者可以定义在一个在action执行前后执行的代码。
也可以在一个action执行前阻止其执行。同时也是提供一种可以提取action中可重用部分的方式。拦截器链就是将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或者
字段时,拦截器链中的拦截器就会按照之前定义的顺序被调用。
二、拦截器实现原理
大部分的时候,拦截器方法都是通过代理的方式来调用的。Struts2的拦截器实现相对简单。当请求达到Struts2的ServletDispatcher时,Struts2会查找配置问价
,并且根据其配置实例化相对的拦截器对象,然后串成一个列表,最后一个一个的调用列表中的拦截器。
Struts2拦截器是可插拔式的,拦截器是AOP的一种实现,Struts2拦截器栈就是将拦截器按照一定的顺序连接成一条链,在访问被拦截的方法或者字段时,
Struts2拦截器链中的连接器就会按照其之前定义的顺序被调用。
492

被折叠的 条评论
为什么被折叠?



