http://www.ywsy.net/muyu/archives/000155.html
Web框架比较:Struts、Spring MVC、WebWork、Tapestry和JSF(by Matt Raible)
Matt Raible,J2EE5.0专家组成员、开源项目Roller Weglogger、XDoclet、Struts Menu,DisplayTag,AppFuse提交者。
各自优缺点:
1、 Struts
优点:
业界“标准”(很多成功案例),学习资源丰富,HTML标签非常优秀
缺点:
ActionForms使用不便、无法进行单元测试(StrutsTestCase只能用于集成)
2、 Spring MVC
优点:
Lifecyle for overriding binding, validation, etc.;易于同其它View框架(Titles等)无缝集成,采用IOC便于测试
缺点:
使用人数少、jsp中要写很多代码、控制器过于灵活,缺少一个公用控制器
3、 WebWork
优点:
结构简单易于扩展、标签库易于定制、拦截器非常出色
缺点:
文档示例很少、客户端验证技术不成熟
4、 Tapestry
优点:
很好用只要你能学会、Html模板、Healthy and smart user community
缺点:
文档太概念,不利于编程,学习曲线太陡,不能测试
5、 JSF
优点:
J2EE标准、易于开发、丰富的导航框架
缺点:
JSP标签差、技术不成熟、No single source for implementation
如果排名的话:
第一Struts
由于许多问题已经被解决,使用它开发容易。HTML标签是它最优秀的地方。
第二 Spring MVC
它也不错,但缺乏很好的表单标签。
第三 WebWork 客户端验证技术很差。
第四 Tapestry Matt Raible目前还没学会怎么使用它。
第五 JSF
需要多听听开发人员的意见框架选择:
项目时间紧迫且没有太高要求,Struts是首选;对于大规模的企业级项目,考虑Tapestry,因为它的可重用组件;如果你是一名开源项目的开发人员,考虑WebWork,因为它要求你对它本身的运行机制要清楚(强迫你分析它的源代码)