zoukankan      html  css  js  c++  java
  • strus2 框架介绍

     

    strus2 执行过程:

     

    ActionMapper会去找ActionMapping查找URL请求的映射

    1:ActionMapping这个类用name+namespace确定请求的映射,

     

    (但是仍然不知道具体是配置哪个Action类去处理该请求)

    2 找到ActionMapping之后将信息返回给核心控制器StrutsAndPreparedExecuteFileter,核心控制器再

    执行如下代码:(将这个mapping传递给下一个执行者)

     

     

    3:执行之前,Strust框架要首先创建代理类 :

     

    怎么创建的呢?

    通过传过来了mapping到strus.xml中找到具体执行的Action类,

     

    再创建ConfigurationManager对象,得到Configuration类

     

    再由Configuration类结合mapping信息到struts.xml文件中查找相关的Action类,找到了就通过反射的方式为其创建代理

     

    找到了,就为其创建代理Action Invocation接口(真正干活儿的人)

     

    【详见源代码】

     

    他有两个实现类(也就是真正干活儿的人):

    以defualtActionInvocation为例:

     

     

     

    最终用反射的方式动态调用并执行当前action的invoke方法!所以说,ActionInvocation就是具体代理Action去干活的人。

     

     

    拿到result字符串,找到相应的视图页面,检查页面是否定义struts的标签,并用计算好的模板,加上刚才执行action拿到的数据递归退出拦截器,再用已有的响应返回到视图)

  • 相关阅读:
    P2764 最小路径覆盖问题
    P1402 酒店之王 网络流
    P2597 [ZJOI2012]灾难 拓扑排序
    FJOI2017 矩阵填数
    2019.2.27模拟
    2019.2.26模拟
    SDOI2013 方程
    [AH2017/HNOI2017]抛硬币
    Lucas定理和扩展Lucas定理
    LuoguP4861 按钮
  • 原文地址:https://www.cnblogs.com/domi22/p/8048073.html
Copyright © 2011-2022 走看看