Struts2学习笔记:从WebWork到Struts2的转变解析
需积分: 10 179 浏览量
更新于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在设计上的进步,如增强的可测试性、更好的线程安全性和更灵活的数据绑定。
210 浏览量
点击了解资源详情
381 浏览量
2008-05-02 上传
2011-09-01 上传
132 浏览量
117 浏览量
344 浏览量
![](https://profile-avatar.csdnimg.cn/e787b46fff3342568976eca71f41322f_kypfos.jpg!1)
Yanbin_Q
- 粉丝: 474
最新资源
- Eldrick Tiger Woods主题新标签页插件:4K壁纸与特色功能
- OpenGL基础教程:实现OpenGL的HelloWorld
- 探索工厂游戏设计:因子游戏开发解析
- 银行家算法实现与Python爬虫技术深入探究
- 掌握Elasticsearch核心与进阶技巧第二版
- LeetCode交互式编程挑战:算法与数据结构练习
- FlexViewer 3.0 源代码解析与ArcGIS集成技术
- 打造优雅的Web仪表板:TechGYO与Highcharts技术实现
- Spring3.2结合ehcache进行接口测试技术解析
- 探索中国交通标志CTSDB数据集训练集11的文件结构
- Ubuntu Kylin下Linux 0.11 GCC5编译及Bochs运行指南
- LeetCode交互式编码挑战: 提升算法与数据结构技能
- SuperRss:增强Omeka网站的RSS功能插件
- 智能优化方法在多领域应用的介绍与分析
- 篮球爱好者必备!个性化新标签页壁纸-crx插件
- RabbitMQ基础备忘与安装备忘录指南