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。

      

  • 相关阅读:
    关于软件设计中遇到的问题
    关于power shell
    如果TChart的发生异常
    重温gof版《设计模式》中的创建型模式
    如何更好的使用cvs
    存储过程返回临时表的问题
    关于bugzilla与svn结合的配置注意事项
    VC知识点:如何用vc6调试CGI程序
    如何让应用程序托盘化
    符号表
  • 原文地址:https://www.cnblogs.com/bingshu/p/6918506.html
Copyright © 2011-2022 走看看