`
lu930124
  • 浏览: 28631 次
  • 性别: Icon_minigender_2
  • 来自: 廊坊
文章分类
社区版块
存档分类
最新评论

Struts2和Struts1对比

 
阅读更多

struts1与struts2有很多相同和不同之处,在这篇博客中,主要总结一下struts1与struts2 的不同之处(宏观上)。

Action类
Struts1中的Action需要依赖ServletAPI
Struts2中的Action可以不用依赖Servlet API

可测试性
Struts1 中的Action测试性不好,因为需要容器支持,因为在Action依赖于servletAPI
Struts2的Action测试性好,可以直接写一个单元测试完成,因为Struts2的Action是一个POJO对象


ActionForm方面
Struts1 手机数据通常使用actionForm,而actionform还需要继承,使actionform的复用率降低,另外项目非常大会建立很多actionform给维护带来工作量,但也有好处数据的收集和控制进行了很好的分离
Struts2:可以不适用actionform来手机数据,直接让Action来手机数据,但也可以采用类似actionform的方法来收集数据,Struts2采用了ModelDriven的方式来支持类似Struts1的actionform方式,所以Struts2更加灵活

表达式语言方面
Struts1中我们通常使用了jstl
Struts2中我们可以使用功能更加强大的表达式语言OGNL(object Graph Notation Language)

类型转换:
Struts1中对actionform的类型转换采用commons-beanutils工具,而定义完成一个转换器,将对所有的actionform起作用,而不能针对某一个actionform来配置是否使用此类型的转换器
Struts2使用OGNL进行类型转换,功能更加强大,转换过程可以针对某个类型进行配置

校验
Struts1采用覆盖actionform中的validate()方法或采用验证框架commons validator来验证
Struts2支持使用覆盖validate()方法来完成验证,也支持验证框架xWork来验证

Action的执行控制
Struts1 固定不变的
Struts2通过拦截器,可以改变执行流程,灵活配置的

Action类
Struts1的Action必须继承
Struts2的Action可以不继承

Action的线程安全
Struts1是单例的,存在线程安全问题
Struts2是多例的,没有线程安全问题


最后,奉上struts1和struts2的结构图,希望对读者有所帮助

struts1:

struts2:



分享到:
评论

相关推荐

    Struts1和Struts2的区别和对比

    Struts1和Struts2的区别和对比 Struts1和Struts2的区别和对比

    Struts1和Struts2的区别和对比.txt

    Struts1和Struts2的区别和对比.txt

    Struts1与Struts2本质区别

    3 Servlet依赖方面的对比:Struts 1 Action依赖于Servlet API,因为Struts 1 Action的execute方法中有HttpServletRequest和HttpServletResponse方法。Struts 2 Action不再依赖于Servlet API,从而允许Action脱离Web...

    struts1和struts2的对比

    很好的述说了struts1和struts2的区别

    Struts2与Struts1的对比

    本文档对于Struts2与Struts1的一些特性的对比

    Struts2权威指南

    第1章 Struts 2概述1  1.1 MVC思想概述2  1.1.1 Web技术的发展2  1.1.2 Model 1和Model 24  1.1.3 MVC思想及其优势6 ... 1.4 Struts 2与Struts 1的对比20  1.5 WebWork和Struts 2对比21  1.6 本章小结22

    servlet和struts2对比案例

    servlet和struts2对比案例,工作室案例对比,加深了解。

    Struts2与Struts1的对比.chm

    关于struts2于struts1对比的资料,对于学习Java及struts的人来说是很有帮助的

    struts2与struts的对比

    struts2与struts的对比,简要介绍了struts2,明确了struts2进行了本质上的修改

    Struts2轻松入门,Struts2总结

    Struts2轻松入门 Struts2总结 Struts2和Struts1.x对比学习

    struts2-指南

    — Web 应用的发展 — Model 1 和Model 2 — MVC 思想 — MVC 模式的优势 — 常用MVC 框架及其特征 — Struts 1 的...Struts 2 的标签库 — Struts 2 的控制器组件 — Struts 1 和Struts 2 的对比

    struts2学习总结

    Struts2 与 struts1 的对比 控制器类: Struts2的控制器不像struts1的那样了 它就是一个简单的pojo 里面包含封装用户的请求参数

    struts2教程.CHM文档

    本章要点 — Web应用的发展 — Model 1和Model 2 — MVC思想 — MVC模式的优势 — 常用MVC框架及其特征 ...— Struts 1的基本结构及其存在的问题 ...— Struts 1和Struts 2的对比 .......................

    Struts1与Struts2的区别

    Struts1与Struts2的区别,让大家更好的对比Struts1与Struts2

    Struts2 项目BBS2和Struts1.2项目bbs

    通过对比可深刻了解到struts1.2项目和struts2项目间的不同和和各自的特点。 两个项目同为myeclipse项目,本人用myeclipse6.5版本。两个项目已经在我本地成功运行发布。 bbs 项目数据库配置在struts-config.xml中...

    struts2标签库

    花费了很长时间,struts2的常用标签的用法都一一进行了与strut1的对比和说明,很是适合学过strut1的人去学习和研究。

Global site tag (gtag.js) - Google Analytics