
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 的执行流程。
发表评论
最新留言
不错!
[***.144.177.141]2025年05月01日 21时59分47秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
备受关注的区块链技术应用领域都有哪些?
2019-03-14
C++版浙大PAT乙级1069(20分)测试点3答案错误解决方法
2019-03-14
hive内部错误
2019-03-14
Error:scalac: bad option: '-make:transitive'
2019-03-14
微软xp壁纸rgb
2019-03-14
浏览器刷新页面
2019-03-14
代码错误信息,微信报错
2019-03-14
easyui日期处理(开始时间和结束时间)
2019-03-14
WPF画椭圆
2019-03-14
XMLHttpRequest对象的一个简单运用示例
2019-03-14
java文件上传
2019-03-14
DHCP跨网段分配IP地址
2019-03-14
10.多线程与并行
2019-03-14
Callable中call方法和Runnable中run方法的区别
2019-03-14
IDEA上移除项目(逻辑删除)
2019-03-14
Docker方式启动tomcat,访问首页出现404错误
2019-03-14
【蓝桥杯】 java 大学c组 省赛 1、隔行变色
2019-03-14