zoukankan      html  css  js  c++  java
  • Struts2学习笔记--Struts2的体系结构

    1. Struts2体系结构

    Struts是以前端控制器框架为主体的框架,用户的请求会通过控制器选择不同的Action类来执行具体的操作,在Action类中所有的Servlet对象(request、response、session等)仍然可用。

    图:Struts2的体系结构

    图:Struts2的体系结构

    一个请求在Struts2框架中的处理大概分为以下几个步骤:

    (1) 客户端初始化一个指向Servlet容器(例如Tomcat)的请求;
    (2) 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin);
    (3) 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action;
    (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的模版。在表示的过程中可以使用Struts2框架中继承的标签。在这个过程中需要涉及到ActionMapper。

  • 相关阅读:
    OpenCascade Ray Tracing Rendering
    Create New Commands in Tcl
    OpenCascade Modeling Algorithms Fillets and Chamfers
    OpenCascade Modeling Algorithms Boolean Operations
    Construction of Primitives in Open Cascade
    Open Cascade Data Exchange STL
    Tcl Tk Introduction
    Open Cascade DataExchange IGES
    Netgen mesh library : nglib
    Hello Netgen
  • 原文地址:https://www.cnblogs.com/gnivor/p/4446429.html
Copyright © 2011-2022 走看看