比较JSF、Spring MVC、Stripes、Struts 2、Tapestry、Wicket(二).docx

比较JSF、Spring MVC、Stripes、Struts 2、Tapestry、Wicket(二).docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
比较JSF、Spring MVC、Stripes、Struts 2、Tapestry、Wicket(二)

比较JSF、Spring MVC、Stripes、Struts 2、Tapestry、Wicket(二)一、环境:Spring:3.0.3.RELEASEJDK:1.6二、分析:Matt通过采访这些框架的作者,与他们讨论各种开源的Java Web框架,并且突出各个框架的长处、听取框架作者对其他框架的看法,希望借此了解这些框架的未来发展方向。 下列是一些被采访者: JSF:Jacob Hookom RIFE:Geert Bevin Seam:Gavin King Spring MVC:Rob Harrop Spring Web Flow:Rob Harrop and Keith Donald Stripes:Tim Fennell Struts 1:Don Brown Tapestry:Howard Lewis Ship Trails:Chris Nelson Struts 2:Patrick Lightbody Wicket:Eelco Hillenius Matt对采访做了如下总结: JSF: 如果你想让web应用具有类似桌面程序的功能性,那么JSF的标准规范和大量第三方组件库的支持值得你 信赖。 Spring MVC: 综合了许多不同的技术,这使得它可以被广泛地应用到不同类型的项目中去;它可以被当作web应用开发的一个基础平台。 Stripes: 可以被应用到存在大量复杂数据交互的程序中;有强大的类型转换、绑定和验证功能;可以使管理大的复杂表单以及直接映射它们到域对象变得简单…… Tapestry: 在中到大型项目中,表现突出(当然,你也可以只把它应用到单个页面上),在这些项目中,你可以通过简单地创建新的组件起到杠杆作用。 Struts 2: 通常更适合于那些希望可以真正开始做事并且愿意花费大量时间来学习他们使用的开源工具的小项目组。Struts 2的目标不是那些更喜欢拖放式开发的“扶手椅程序员”。 Wicket: 非常适合于这样的内/外部网应用:UI很复杂并且你希望可以充分利用你的开发者资源。 上面的总结,基本是突出了各个框架的长处。然而,哪些又是他们不好的地方呢? Matt提出了评价一个框架好坏与否的标准: ◆Ajax支持 是不是内置了?是否便于使用? ◆书签能力 用户能否将某个页面收藏起来并且可以方便地返回到该页面? 验证 使用是否简单?是否支持客户端(JavaScript)验证? ◆可测试性 脱离容器测试控制器,是否足够简单? ◆提交和重定向 框架如何处理重复提交问题? ◆国际化 如何支持国际化?控制器利用国际化信息,是否容易? ◆页面修饰 框架支持哪种类型的页面修饰/组成机制? ◆社区和技术支持 提出问题,能否被快速地、恭敬地回答? ◆开发工具 是否有支持这个框架的好的工具,尤其是IDE? ◆市场需求 学习了这个框架,它能否帮你找到份工作? ◆岗位数量 在和上,对这个框架技能的需求如何? 笔者认为这个评价标准,值得大家借鉴。 然后,Matt按照这些评价标准,对各个框架做了以下阐述: Ajax支持 ◆JSF:没有内置的Ajax支持,需要使用ICEfaces和Ajax4JSF ◆Stripes:没有对应的类库,支持流输出 ◆Struts 2:内置Dojo,有用于GWT和JSON的插件 ◆Spring MVC:没有对应的类库,需要使用DWR和Spring MVC扩展 ◆Tapestry:Tapestry 4.1中,有内置的Dojo ◆Wicket:有Dojo和Script.aculo.us支持 书签能力 ◆JSF:可以任意提交——URL甚至不被考虑 ◆Stripes:使用约定,但是你可以不加理会 ◆Struts 2:有命名空间的概念,这使得收藏某个页面并返回变得容易 ◆Spring MVC:允许完全的URL控制 ◆Tapestry:依然存在一些丑陋的URL ◆Wicket:允许装配(mount)页面/URL 验证 ◆JSF:默认的国际化信息丑陋,但是配置简单 ◆Stripes和Wicket:用Java类进行验证——不支持客户端验证 ◆Struts 2:使用OGNL完成强大的表达式验证功能;只有在Action上指定了规则,才支持客户端验证。 ◆Spring MVC:允许你使用公共验证器——这是一种成熟的解决方案 ◆Tapestry:有健壮的验证功能——不需自定义就有漂亮的国际化信息 可测试性 ◆Spring MVC和Struts 2:允许利用mocks(例如EasyMock、jMock和Spring Mocks)简单地进行测试 ◆Tapestry:测试困难,因为页面类被抽象、具体类被简化 ◆JSF:页面类可以方便地被测试,实际上很像Struts 2 中的actions ◆Wicket:有WicketTester——一个强

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档