模拟struts2的拦截器的流程
来源:互联网 发布:javascript 语法 编辑:程序博客网 时间:2024/06/06 02:58
package com.tch.test.struts2.interceptor;import java.util.Iterator;import java.util.List;public class ActionInvocation {private List<Interceptor> interceptors;private Iterator<Interceptor> iterator;public void invoke(){if(hasNext()){getInterceptor().intercept(this);}else{System.out.println("调用action方法");}}Interceptor getInterceptor(){return iterator.next();}private boolean hasNext() {return iterator.hasNext();}public List<Interceptor> getInterceptors() {return interceptors;}public void setInterceptors(List<Interceptor> interceptors) {this.interceptors = interceptors;this.iterator = interceptors.iterator();}}
package com.tch.test.struts2.interceptor;public interface Interceptor {void intercept(ActionInvocation invocation);}
package com.tch.test.struts2.interceptor;public class FirstInterceptor implements Interceptor {@Overridepublic void intercept(ActionInvocation invocation) {System.out.println("begin >>> first...");invocation.invoke();System.out.println("end <<< first");}}
package com.tch.test.struts2.interceptor;public class SecondInterceptor implements Interceptor {@Overridepublic void intercept(ActionInvocation invocation) {System.out.println("begin >>> second...");invocation.invoke();System.out.println("end <<< second");}}
package com.tch.test.struts2.interceptor;public class ThirdInterceptor implements Interceptor {@Overridepublic void intercept(ActionInvocation invocation) {System.out.println("begin >>> third...");invocation.invoke();System.out.println("end <<< third");}}
package com.tch.test.struts2.interceptor;public class FourthInterceptor implements Interceptor {@Overridepublic void intercept(ActionInvocation invocation) {System.out.println("begin >>> fourth...");invocation.invoke();System.out.println("end <<< fourth");}}
package com.tch.test.struts2.interceptor;import java.util.ArrayList;import java.util.List;public class TestInterceptor {public static void main(String[] args) {List<Interceptor> interceptors = new ArrayList<Interceptor>();FirstInterceptor first = new FirstInterceptor();SecondInterceptor second = new SecondInterceptor();ThirdInterceptor third = new ThirdInterceptor();FourthInterceptor fourth = new FourthInterceptor();interceptors.add(first);interceptors.add(second);interceptors.add(third);interceptors.add(fourth);ActionInvocation invocation = new ActionInvocation();invocation.setInterceptors(interceptors);invocation.invoke();}}
OK。。。
- 模拟struts2的拦截器的流程
- 模拟Struts2的拦截器
- 说说struts2中拦截器的请求流程一(模拟大致流程)
- 【struts2】拦截器的工作模拟实现
- struts2的拦截器栈调用模拟
- Struts2 Interceptor 拦截器的使用流程
- struts2的基本知识点—模拟拦截器的原理
- struts2自定义拦截器 模拟session超时的处理
- struts2中拦截器的简单实现流程
- 拦截器概述和Struts2的运行流程
- Struts2的运行流程以及关键拦截器介绍
- struts2的请求流程,过滤器和拦截器区别
- struts2的执行原理(执行流程,过滤器和拦截器)
- Struts2的拦截器
- Struts2的拦截器
- Struts2的拦截器
- struts2的拦截器
- Struts2的拦截器
- 使用PowerDesigner创建mysql数据库表图文并茂版
- live555学习笔记8-RTSPClient分析
- java 英文面试 设计模式
- openfire xmpp 如何判断用户是否在线
- C#中比较常见的类&方法、对应的引用、例子
- 模拟struts2的拦截器的流程
- eclipse安装Lua
- 利用超链接实现简单自定义漂亮复选框
- Spring AOP总结
- sql 向另一个表导数据
- jquery.fn.extend与jquery.extend
- 使用synchronized和Lock对象获取对象锁
- 项目中DAO的结构实现
- hibernate 注解和xml配置入门