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章,我们就不提供项目演示了,其实也没甚么可演示的,大家多看看源码,分析下MethodFilterInterceptorUtil和ActionInvocation两个接口便可。
5、逐日1乐:
火车站,我牢牢捉住她正要从我的口袋中抽离的手说:“别走。”
她的眼眶1点1点的湿润,颤抖着说:“能不能放手,
能不能给我留下1点美好的回想,毕竟这是我第1次当小偷。”
终究解释权归爱尚合伙人(www.23hhr.com)所有,转载请注明出处。
上一篇 ubuntu14.04 64位 安装eclipse出错
下一篇 XML