2010-03-19 146 views
12

我经常遇到这个问题,为什么我们有很多web框架解决相同或类似的缺点。当深入研究时,我还考虑了为什么在其他Web框架(如Struts,Spring MVC等)已经显示它们存在之后,为什么JSP/Servlet没有被使用?Servlets vs MVC框架

是因为,最新的Web框架

  1. 做了大部分的东西在自己的?
  2. 提供了Servlet/JSP无法提供的丰富功能吗?
  3. 或者Servlet/JSP无法提供最新的框架呢?

任何形式的答复或资源的帮助将不胜感激。

回答

7

我会分享我的一些想法。

  1. 如上所述,这些框架是在Servlet/JSP之上开发的。
  2. 它们旨在避免代码(DRY)的重复。
  3. 框架基于设计模式 - 针对常见问题的一般可重用解决方案。
  4. 他们帮助在团队中轻松沟通,并使他们高效并专注于他们试图解决的企业级问题,而不是这些常见任务。
  5. 他们帮助通过提供通用解决方案来加速开发,以解决众所周知的问题。 (如表单验证,REST,测试,依赖注入等)

当你在开发大型企业应用,并有工作就可以了多个开发人员,你肯定需要在项目/代码/结构每个开发人员的一些均匀性在写字。强制执行从外部强制是不可靠的,但是当这些执行强制执行时,它有助于使项目易于维护,规模大,并且易于新人在短时间内生产。

我相信这个规则不仅适用于servlet-jsp,也适用于JavaScript。在构建企业级UI时,只有原生JavaScript或甚至低级别的JavaScript API /库是不够的。要么采用最佳可用框架,要么抽象出通用性,并将其作为框架(而不是图书馆)。

2

Spring MVC仍然适用于JSP,在它的核心中,它只提供一个简单的调度程序servlet,它使用Spring MVC框架提供的机制(在其中注册控制器等)。我会说这是关于便利性,让事情更容易编写和维护。此外,您可以更轻松地对当前的开发做出反应(例如,RESTful服务......您必须手动将其全部编码到servlet中)。最终,这是什么框架。