struts2流程

创建ActionContext做的工作
   *  在actionContext中存在一个Map<String, Object>
   *  ValueStack stack = dispatcher.getContainer().getInstance(ValueStackFactory.class).createValueStack();
         通过静态注入创建ValueStack的实现类:OgnlValueStack,也就意味着在创建actionContext的时候,值栈就被创建了
   *  ValueStack中的map栈和ActionContext中的Map是一样的
   *  通过ActionContext.setContext(ctx);就把actionContext放入到ThreadLocal中,这样数据就安全了
ActionProxy的创建
    *  ActionProxy proxy = config.getContainer().getInstance(ActionProxyFactory.class).createActionProxy(
                    namespace, name, method, extraContext, true, false);
    *  在createActionProxy的时候
          ActionInvocation inv = new DefaultActionInvocation(extraContext, true);
          创建了DefaultActionInvocation
          在创建ActionProxy的时候,就已经执行invocation的init方法
          invocation的init方法做的事情:
                action的创建和所有的拦截器的创建
          执行invocation中的inovke方法
             *  执行了所有的拦截器
             *  执行了当前请求的action
             *  执行了结果集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值