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