zoukankan      html  css  js  c++  java
  • Struts2内部执行过程

        首先是Struts2的流程图。

    一、当有一个请求的时候。执行以下流程。

    1 客户端初始化一个指向Servlet容器的请求;

    2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)。

    3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action。(注:在Struts2的被StrutsPrepareAndExecuteFilter替换)

    4 如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy。

    5 ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类。

    6 ActionProxy创建一个ActionInvocation的实例。

    7 ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。

    8 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可 能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。

     Then:

    在之前说过的使用Struts2框架实现用户登录的功能,使用Struts2标签和OGNL表达式简化了视图的开发,并且利用Struts2提供的特性对输入的数据进行验证,以及访问Servlet API时实现用户会话跟踪,其简单的程序运行流程图

    login.jsp>>StrutsPrepareAndExecuteFilter>>Action>>Result>>success.jsp

    下面通过分析登录程序,带领大家深入了解Struts2.

    分析登录程序

    为了实现用户登录的功能,需要经过以下几个步骤:

    (1)获取Struts2资源

    (2)在应用程序中导入Struts2的类库

    (3)在web.xml文件中配置其核心控制器StrutsPerpareAndExecuteFilter,用于对框架进行初始化,以及处理所有的请求。

    (4)编写Action类并进行配置。

    (5)配置返回结果与物理视图资源的关系。

    (6)编写返回视图

    众所周知,Struts2框架是基于MVC模式的。基于MVC模式框架的核心就是控制器对所有请求进行统一处理。Struts2的控制器StrutsPrepareAndExecuteFilter由Servlet API中的Filter充当,当Web容器接收到登录的请求后,将请求交给在web.xml中的配置的过滤器StrutsPrepareAndExecuteFilter。

      

  • 相关阅读:
    1877. 数组中最大数对和的最小值 力扣(中等) 简单题,sort+贪心
    1838. 最高频元素的频数 力扣(中等) 尺取法 是我做不出来的题
    面试题 08.09. 括号 力扣(中等) 是我想不出来的回溯
    js删除数组里的某个元素
    Yiwen with Sqc 题解(dp)
    Link with EQ 题解(dp)
    Robots 题解(暴力bitset)
    P3232 [HNOI2013]游走 题解(图上随机游走问题 高斯消元
    怀旧游戏 题解(逆向bfs打表博弈)
    F. The Number of Subpermutations 题解(异或hash维护全排列)
  • 原文地址:https://www.cnblogs.com/bingshu/p/6918506.html
Copyright © 2011-2022 走看看