Struts2核心时序图

Created with Raphaël 2.1.0Struts2核心时序图urlurlStrutsPrepareAndExecuteFilterStrutsPrepareAndExecuteFilterPrepareOperationsPrepareOperationsValueStackFactoryValueStackFactoryOgnlContextOgnlContextActionContextActionContextExecuteOperationsExecuteOperationsDispatcherDispatcherActionProxyFactoryActionProxyFactoryDefaultActionInvocationDefaultActionInvocationActionProxyActionProxy1.doFilter()2.setEncodingAndLocale()3. createActionContext()4.createValueStack()5.putAll()6.new ActionContext()7.setContext()8.wrapRequest()9.executeAction()10.serviceAction()11.createActionProxy()12.init()13.execute()14.invoke()15.cleanupRequest()


4.创建值栈
5.初始化值栈中的map栈
6.将值栈放入到ActionContext中
7.把actionContext放入到了当前线程中

其中4-7是3方法的后续过程
3方法的作用创建了值栈,并初始化,并且吧OgnlContext放入到了ActionContext中,把ActionContext放入到了当前线程

12中:
1.createAction():调用了ObjectFactory中的buildAction方法创建actionStack.push(action)
把action入栈
2.contextMap.put(“action”,action),把当前的action对象放入到了map中
3.

List<InterceptorMapping> interceptorList = new ArrayList<InterceptorMapping>(proxy.getConfig().getInterceptors());
        interceptors = interceptorList.iterator();

获取这次请求的所有的拦截器,并且返回拦截器的迭代器形式

14:
执行顺序:
1.按照顺序的方法执行所有的拦截器
2.执行action的方法
3.执行结果集
4.按照倒序的方式执行所有的拦截器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值