struts2_拦截器的原理
来源:互联网 发布:淘宝助理有什么功能 编辑:程序博客网 时间:2024/04/20 12:26
分析strut2中的拦截器的作用,探究其原理。现在我们来探究下拦截器的源代码。
1. 流程一
在StrutsPrepareAndExecuteFilter中进行查找代码,在doFilter方法内有一句话 execute.executeAction (request, response, mapping) 执行Action操作。
2. 流程二
在executeAction执行过程中会访问Dispatcher类中的serviceAction,在这个方法中会创建一个: ActionProxy proxy = config.getContainer().getInstance(ActionProxyFactory.class
).createActionProxy(namespace, name, method, extraContext, true, false);
而这个proxy就是代理对象。
3. 流程三
查看ActionInvocation,查看其实现类DefaultActionInvocation。
//其invoke方法if (interceptors.hasNext()) {//判断是否有下一个拦截器. final InterceptorMapping interceptor = interceptors.next(); //得到一个拦截器 String interceptorMsg = "interceptor: " + interceptor.getName(); UtilTimerStack.push(interceptorMsg); try { //调用得到的拦截器的拦截方法.将本类对象传递到了拦截器中。 resultCode = interceptor.getInterceptor().intercept( DefaultActionInvocation.this); } finally { UtilTimerStack.pop(interceptorMsg); }}
总结:通过源代码分析,发现在DefaultActionInvocation中就是通过递归完成所有的拦截器调用操作的。
阅读全文
0 0
- struts2_拦截器的原理
- struts2_拦截器的使用
- struts2_拦截器和过滤器的区别
- struts2_方法拦截器
- 3、struts2_拦截器
- Struts2_自定义拦截器
- Struts2_拦截器(方法拦截)
- 45. Struts2_自定义拦截器
- 29.struts2_自定义拦截器
- Struts2_防止重复提交的token拦截器
- Struts2_拦截器(Action拦截和全局拦截)
- struts2_大纲05_拦截器
- java Struts2_用户自定义拦截器
- 16.Struts2_使用ParamsPrepareParams拦截器栈
- struts2_拦截器与注解开发
- 14.struts2_框架流程分析,以及Params拦截器
- Struts2拦截器的原理
- Struts2的拦截器原理
- POJ 3190 Stall Reservations (贪心+优先队列)
- Redis数据结构和内部编码--有序集合(SortedSet)
- 从linux进程的角度看Docker
- OpenCV 图像清晰度评价(相机自动对焦)
- 最坏情况下保证时间复杂度为N*logN的快速排序
- struts2_拦截器的原理
- json基本的使用方法
- 四位密码锁*电子密码锁的设计
- leetcode 59. Spiral Matrix II
- Oracle PL/SQL开发基础(第二十一弹:基本函数)
- 葵花宝典 九 Struts 2
- Android Kotlin 用 DownloadManager 同步Json文件的实现
- cocoapods 更新指定的库
- 关于Label常用的计算