Struts - 架构

  • 简述

    从高层来看,Struts2 是一个 pull-MVC(或 MVC2)框架。Struts2 中的 Model-View - Controller 模式由以下五个核心组件实现 -
    • 操作
    • 拦截器
    • 值堆栈/OGNL
    • 结果/结果类型
    • 视图技术
    Struts 2与传统的MVC框架略有不同,在传统MVC框架中,操作扮演的是模型而不是控制器的角色,尽管有一些重叠。
    Struts 2 架构
    上图描绘了 Model, View和 ControllerStruts2 高级架构。控制器是用一个Struts2调度 servlet 过滤器和拦截器,这个模型是用动作实现的,视图是结果类型和结果的组合。值堆栈/OGNL 提供公共线程,链接和启用其他组件之间的集成。
    除了上述组件之外,还会有很多与配置相关的信息。Web 应用程序的配置,以及操作、拦截器、结果等的配置。
    这是 Struts 2 MVC 模式的架构概览。我们将在后续章节中更详细地介绍每个组件。
  • 请求生命周期

    根据上图,您可以了解在用户请求生命周期中的工作流程 Struts 2 如下 -
    • 用户向服务器发送请求以请求某些资源(即页面)。
    • Filter Dispatcher 查看请求,然后确定适当的 Action。
    • 配置的拦截器功能适用,例如验证、文件上传等。
    • 根据请求的操作执行选定的操作。
    • 同样,如果需要,配置的拦截器可用于执行任何后处理。
    • 最后,结果由视图准备,并将结果返回给用户。