程序员人生 网站导航

Struts2之拦截器原理分析及使用-再中

栏目:框架设计时间:2015-01-09 08:44:51

1、学习案例:关于拦截器的了解,我们肯定不再单纯地编码。我会带大家通过研读源码了解拦截器的实现方式,和学习struts2的编码方式。

 

2、案例分析:

a)MethodFilterInterceptor方法拦截器,如果没指定includeMethods,也没指定excludeMethods,则所有方法都会被拦截,即所有方法默许includeMethods

 

b)对指定了includeMethods,而不在其中的方法则不会被拦截。

 

d)怎样拦截,拦截甚么都是由MethodFilterInterceptorUtil.applyMethod(..., ..., ...)指定的。有兴趣的朋友可以分析下其实现逻辑。

 

c)ActionInvocation中有个addPreResultListener(PreResultListener listener)方法,其含义就是:在action履行以后,在结果渲染之前,在这两个时间点之间会接收通知,通知传入参数对象履行处理。此处使用了视察者模式,如果对视察者模式了解,那末源码就很容易看懂了,大家可以自行查阅,在此就不多讲了。

1、创建监听类使之实现PreResultListener接口,实现beforeResult(..., ...)方法,此处就是填写结果被渲染之前的处理逻辑。

2、在拦截器中通过invocation.addPreResultListener(new 监听类)添加此功能。

3、1般也没甚么用,反正我是没用过。有兴趣的朋友自行了解。

 

 

 

 

3、经验之谈:

a)对知识点的掌握不是背下了就OK了,背下的东西过1段时间肯定会模糊,以致忘记。我们必须要理解,如果实在看不懂那也别背,敲代码论证,或百度案例调试,只有这样的进步才会促使我们技术的成长。

 

4、参考项目:由于我们主要是对源码分析,而项目只是让大家对流程了解和掌握。这1章,我们就不提供项目演示了,其实也没甚么可演示的,大家多看看源码,分析下MethodFilterInterceptorUtilActionInvocation两个接口便可。

 

5、逐日1乐:

火车站,我牢牢捉住她正要从我的口袋中抽离的手说:别走。

她的眼眶1点1点的湿润,颤抖着说:能不能放手,

能不能给我留下1点美好的回想,毕竟这是我第1次当小偷。” 

 

 

终究解释权归爱尚合伙人(www.23hhr.com)所有,转载请注明出处。

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐