Struts2学习笔记:从WebWork到Struts2的转变解析
需积分: 10 18 浏览量
更新于2024-07-31
收藏 710KB PDF 举报
"Unmi 的 Struts2 学习笔记"
Unmi的Struts2学习笔记是一系列关于Struts2框架的详细记录,适合初学者和有Struts1背景的开发者进行深入学习。作者Unmi在笔记中指出,尽管Struts2在名称上与Struts1有关联,但在技术实现上,Struts2实际上基于WebWork,这导致了两者之间存在显著差异,原有的Struts1经验对理解Struts2帮助不大。
1. **框架结构变化**:Struts2不再延续Struts1的血缘关系,它继承自WebWork框架,WebWork因此停止更新。对于WebWork的用户,迁移到Struts2相对平滑。Struts1的核心是ActionServlet,而Struts2则采用FilterDispatcher作为核心控制器,这一改变使得Struts2的处理流程更加灵活。
2. **Action设计**:在Struts1中,Action类需要继承AbstractAction,且与ServletAPI紧密耦合,而在Struts2中,Action可以实现ActionSupport接口,也可以是纯粹的POJO,这样降低了侵入性,增强了测试性,使得单元测试更为便捷。
3. **实例管理**:Struts1中,Action实例在整个应用生命周期中只有一个,可能导致线程安全问题。相比之下,Struts2为每个请求创建新的Action实例,确保了线程安全,但也意味着对内存管理的要求更高。
4. **数据接收**:Struts1通过ActionForm来处理请求数据,ActionForm依赖ServletAPI且非标准JavaBean。而在Struts2中,可以直接通过Action的属性获取请求参数,或封装在独立的POJO中。Struts1.3虽然也支持POJO,但使用相对复杂。
5. **表达式语言**:Struts2引入了OGNL(Object-Graph Navigation Language)作为表达式语言,能够方便地访问值栈,对集合和索引属性的支持更为强大,极大地提高了开发效率和灵活性。
6. **配置文件**:Struts1只需要一个struts-config.xml配置文件,而Struts2的配置文件包括struts.xml和struts.properties。struts.properties中的配置项如struts.devMode和struts.configuration.xml.reload,可以方便地切换开发和生产模式,并自动重新加载配置,简化了开发过程。
这些笔记深入浅出地介绍了Struts2与Struts1的关键差异,对于理解Struts2的架构和工作原理非常有帮助,同时也突显了Struts2在设计上的进步,如增强的可测试性、更好的线程安全性和更灵活的数据绑定。
2008-05-02 上传
214 浏览量
2011-09-01 上传
135 浏览量
2025-03-13 上传
2025-03-13 上传

Yanbin_Q
- 粉丝: 474
最新资源
- React.js实现的简单HTML5文件拖放上传组件
- iReport:强大的开源可视化报表设计器
- 提升代码整洁性:Eclipse虚线对齐插件指南
- 迷你时间秀:个性化系统时间显示与管理工具
- 使用ruby-install一次性安装多种Ruby版本
- Logality:灵活自定义的JSON日志记录器
- Mogre3D游戏开发实践教程免费分享
- PHP+MySQL实现的简单权限账号管理小程序
- 微信支付统一下单签名错误排查与解决指南
- 虚幻引擎4实现的多边形地图生成器
- TouchJoy:专为触摸屏Windows设备打造的屏幕游戏手柄
- 全方位嵌入式开发工具包:ARM平台必备资源
- Java开发必备:30个实用工具类全解析
- IBM475课程资料深度解析
- Java聊天室程序:全技术栈源码支持与学习指南
- 探索虚拟房屋世界:house-tour-VR应用体验