
深入理解Struts2架构:从请求到结果
下载需积分: 9 | 617KB |
更新于2024-07-29
| 29 浏览量 | 举报
收藏
"struts2教程"
Struts2是一个基于MVC设计模式的Java Web应用程序框架。在客户端提交一个HttpServletRequest请求后,请求会被一系列过滤器(Filter)处理,这些过滤器通常包括ActionContextCleanUp、其他过滤器(如SiteMesh)以及核心的FilterDispatcher。FilterDispatcher在Struts2中扮演了控制器的角色,类似于Struts1.x中的ActionServlet。
FilterDispatcher会咨询ActionMapper,以确定是否需要调用特定的Action来处理请求。如果ActionMapper同意调用Action,FilterDispatcher会将控制权交给ActionProxy。ActionProxy通过Configuration Manager(即struts.xml配置文件)来找出需要执行的Action类。例如,如果用户尝试注册,ActionProxy可能会找到UserReg类来处理请求。
ActionProxy创建ActionInvocation实例,ActionInvocation采用代理模式调用Action。在Action执行之前,ActionInvocation会加载与Action相关的所有Interceptor(拦截器)。拦截器允许开发者在Action执行前后插入自定义逻辑,如身份验证、日志记录或事务管理。Action执行完毕后,ActionInvocation依据struts.xml中的配置找到相应的结果(Result)来呈现给用户。
Struts2框架的实现依赖于多个库,包括核心库struts2-core、模板引擎Freemarker、日志库commons-logging、对象图导航语言OGNL、xwork库、文件上传组件commons-fileupload等。在最新的2.1.6版本中,commons-fileupload.jar是必需的,因为它包含了RequestContext类,否则会导致运行时异常。
配置方面,有两个主要的XML文件:web.xml和struts.xml。web.xml文件配置了StrutsPrepareAndExecuteFilter过滤器,负责初始化框架并处理所有请求。ActionContextCleanUp过滤器则用于清理任务。而struts.xml是Struts2的核心配置文件,可包含多个子配置文件,每个子文件对应不同的应用模块,方便管理和维护。
在实际开发中,开发者通常会为每个模块定制自己的struts.xml配置,以便更好地组织和管理Action、Interceptor和Result。通过这种方式,Struts2提供了一种灵活且强大的方式来构建Java Web应用程序。
相关推荐










追求
- 粉丝: 24
最新资源
- 基于Asp.net MVC的企业客户关系管理开源系统
- 全面掌握Linux常用命令技巧
- Eclipse与MyEclipse中使用XFire和Axis开发WebService指南
- C#计算器源码下载与使用教程
- 经典J2EE英文教材完整内容
- 掌握C++编程技巧,提高开发质量
- C#.NET图表处理程序及实例解析
- C语言程序库:精选代码与数据结构实例
- 新型JSP设备管理系统的设计与实现
- ASP.NET省市联动技术实现与应用
- Java自定义分页标签的实现与优化
- ASP.NET图形图表实现与报表生成
- Notepad++:高效文本编辑工具的下载与评价指南
- 英特尔MMX技术开发手册:深入学习与应用
- SC32440中文说明书完整指南
- 实用窗口句柄查询工具:快速定位与屏幕取色
- 2005年下半年程序员级考试题目与答案解析
- C++实现推木箱游戏教程
- PHP网络编程实例章节解析
- WINCE X86平台开发及串口问题解决方案
- 招聘信息发布管理系统的发布与优化
- 10个步骤掌握JavaScript:快速学习指南
- 下载FPGA板原理图及PCB设计protel文件
- 网页设计必备:HTML、ASP与CSS综合速查指南