Struts2详细执行流程自己总结
发布日期:2021-05-28 16:46:25 浏览次数:35 分类:精选文章

本文共 2255 字,大约阅读时间需要 7 分钟。

Struts2详细执行流程总结

本文旨在通过对Struts2框架进行概述和分析,帮助学习者系统化地理解其运行机制。内容基于多方参考资料整合,旨在降低学习门槛,同时帮助自身知识的巩固和抗遗忘。


一、Struts2总体框架

Struts2是一个为 Java 开发者设计的 MVC 框架,主要用于处理 web 应用程序的数据传输和逻辑处理。其运行环境通常为 Tomcat 或其他 Java 服务器,框架核心包括 Action、Interceptors、Tiles 等核心组件。

服务器部署环境

  • 项目部署在 Tomcat 服务器上,由服务器解析 Struts2 项目。
  • 通过.jsp文件运行项目,表单提交内容通过 struts.xml 等文件进行拦截。

表单提交与数据处理-.jsp 表单中提交的数据通过 Action 线程处理。

  • Struts2 内置的 FilterDispatcher 将请求信息包装后提交到 ActionMapper,判断是否需要通过 Struts2 处理。

二、框架图中各层次的解释

1. StrutsPrepareAndExecuteFilter 的作用

  • 初始化阶段,读取 struts.xml、default.properties 等配置文件。
  • 配置 Struts2 运行参数,完成相关程序初始设置。

2. Struts2 配置文件解读

  • default.properties:框架提供的默认配置文件,包含运行参数。
  • struts-default.xml:框架自用配置文件,创建拦截器、结果处理等。
  • struts.xml:用户自定义配置文件,设置拦截器、Actions 参数等。
  • struts.properties:用户自定义运行参数配置。

3. Struts2 执行流程

  • StrutsPrepareAndExecuteFilter 负责将请求信息包装并初始化。
  • ActionMapper 检测请求是否需 Struts2 处理,若需则调用 ActionProxy。
  • ActionProxy 调用 ConfigurationManager 获取具体 Action,通过 struts.xml 配置确定。
  • ActionInvocation 类获取表单数据和配置信息,调用业务层处理逻辑。
  • 通过 result 配置返回响应页面。

三、通过 ActionMapper 寻找对应的 Action

  • Struts2 项目运行流程如下:

    • 服务器启动时加载 web.xml,作为 Struts2 的监管器。
    • web.xml 检测.jsp 表单提交内容是否需 Struts2 处理。
    • StrutsPrepareAndExecuteFilter 将请求信息包装后提交至 ActionMapper。
    • ActionMapper 检测是否需要 Struts2 处理,若需则反馈到 FilterDispatcher。
    • FilterDispatcher 调用 StrutsPrepareAndExecuteFilter 进行拦截。
  • ActionProxy 作用:

    • 为 Struts2 请求创建中间层,其中包含对应的 Action 类的引用。
    • ActionInvocation 类获取前端数据及 Struts2 配置信息,实现数据传递和结果处理。
  • 返回响应页面:

    • 结果处理逻辑通过 struts.xml 中的 result 配置确定。
    • 配置后的结果信息通过 HttpServletResponse 响应给用户。

  • 四、重要组件解析

  • FilterDispatcher

    • 作为 Struts2 核心过滤器,负责将请求信息包装后分发给下一个过滤器。
    • 废旧版本已被替换为 StrutsPrepareAndExecuteFilter。
  • ActionMapper

    • Struts2 主要用于检测请求信息是否需框架处理。
    • 没有直接的 Action 类引用,需调用 ActionProxy 进行处理。
  • ConfigurationManager

    • 负责加载框架配置文件(如 struts.xml)到内存中。
    • 通过查找到对应的 Action 实例进行后续操作。
  • ActionInvocation

    • 包装前端传递的属性值(如 name、age 等),同时获取 Struts2 配置信息。
    • 作为业务层处理的中间类别,只需获取配置信息即可。

  • 五、重要技术点汇总

  • 过滤器机制

    • StrutsPrepareAndExecuteFilter 负责请求信息处理的拦截与包装。
    • FilterDispatcher 负责将请求分发至下一个过滤器或 ActionMapper。
  • Action 类处理

    • ActionProxy 通过 ConfigurationManager 获取到对应的 Action 类。
    • ActionInvocation 类获取表单数据和框架配置信息,完成业务层处理。
  • 响应页面生成

    • 结果配置直接影响返还的页面信息。
    • 通过 HttpServletResponse完成用户请求响应。

  • 六、总结

    Struts2 框架的核心运行机制包括 FilterDispatcher、ActionMapper、ActionProxy 和 ConfigurationManager 四个关键组件。通过以上步骤,用户可以清晰理解 Struts2 框架的流程和各组件的作用。本文为技术人员和学习者提供了一份详细的框架图解和实用解析,希望能够帮助大家快速掌握 Struts2 的执行流程。

    上一篇:Java中的非线程安全和线程安全举例说明
    下一篇:struts2的详细执行流程

    发表评论

    最新留言

    不错!
    [***.144.177.141]2025年05月01日 21时59分47秒