开发者社区> soledad_lhc> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Struts2概述及与Struts1的对比

简介: Struts2 概述 1,仍然是一个基于请求响应的MVC框架 2,Struts2不是Struts1的升级 3,Struts2与Struts1的体系结构差距非常大 4,Struts2采用了另一个MVC框架WebWork的核心设计 5,Struts2更优秀:松耦合设计。
+关注继续查看


Struts2 概述


1,仍然是一个基于请求响应的MVC框架

2Struts2不是Struts1的升级

3Struts2Struts1的体系结构差距非常大

4Struts2采用了另一个MVC框架WebWork的核心设计

5Struts2更优秀:松耦合设计。。

 

Struts1Struts2的对比


1Action方面


Struts1Action必须继承;Struts1是单例的,存在线程安全问题;控制执行方面,Struts1固定不变的

Struts2Action可以不继承;Struts2是多例的,没有线程安全问题;控制执行方面,Struts2通过拦截器,可以改变执行流程,灵活配置的


2,Servlet API依赖与可测试性


Struts1Action测试性不好,Struts1中的Action需要依赖Servlet API,因为需要容器支持,因为在Action依赖Servlet API

Struts2Action测试性不好,Struts2中的Actionk可以不用依赖ServletAPI,可以直接写一个单元测试完成,因为Struts2Aciton是一个POJO对象


3ActionForm方面


Struts1收集数据通常使用ActionForm,ActionForm还需要继承,使得ActionForm的复用率降低。另外项目非常大会建立很多ActionForm给维护带来工作量,但也有好处,数据的收集和控制进行很好的分离。

Struts2可以不用使用ActionForm来收集数据,直接让Action来收集 数据,但也可以采用类似ActionForm的方式来收集数据,Struts2采用ModelDriven的方式来支持类似Struts1ActionForm方式,所以Struts2更灵活。


4,类型转换与表达式语言方面


Struts1ActionForm的类型转换采用 commons-beanutils工具,而定义完成一个转换器,将对所有的ActionForm起作用,而不能针对某一个ActionForm来配置是否使用此类型的转换器。Struts1中我们通常使用JSTL作为显示层绑定数据的方式。

Struts2使用OGNL进行类型转换,功能更加强大,转换过程可以针对某个类型进行配置。;Struts2中我们可以使用功能更强大的表达式语言OGNLObject Graph Notation Language


5,校验


Struts1采用覆盖ActionForm中的validate()方法或采用验证框架commons validator来验证

Struts2支持使用覆盖validate()方法来完成验证,也支持验证框架XWork来验证。

 

 

 

 

 


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Struts 2 简介 Struts2的基本流程
转自:http://blog.csdn.net/zjtimef/article/details/12027767   Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI
1749 0
Struts2基础
第一步 : 首先回顾MVC架构,分为模式1与模式2.   模式1:            WEB项目几乎全由JSP页面组成,JSP页面负责所有的展示与业务逻辑的处理(业务,数据库连接……)。            缺点:JSP页面兼容了view与controller两种角色,控制逻辑与表现逻辑混杂,导致代码重用性很低,增加了扩展与维护的难度。
609 0
Struts2【配置】 (二)
上篇Struts博文已经讲解了Struts的开发步骤以及执行流程了…..对Struts的配置文件有了了解…..本博文继续讲解Struts在配置的时候一些值得要学习的细节…
0 0
Struts2【配置】 (一)
上篇Struts博文已经讲解了Struts的开发步骤以及执行流程了…..对Struts的配置文件有了了解…..本博文继续讲解Struts在配置的时候一些值得要学习的细节…
0 0
struts2的配置
引用:http://www.cnblogs.com/wchhuangya/archive/2011/03/21/1968877.html struts2框架,大多数框架都在使用。由于工作需要,开始做Java项目。
588 0
Struts2【配置】 (三)
上篇Struts博文已经讲解了Struts的开发步骤以及执行流程了…..对Struts的配置文件有了了解…..本博文继续讲解Struts在配置的时候一些值得要学习的细节…
0 0
+关注
soledad_lhc
csdn博客:http://blog.csdn.net/lhc1105
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载