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,因为它要求你对它本身的运行机制要清楚(强迫你分析它的源代码)