Servlet 与 MVC 框架 [关闭]
Posted
技术标签:
【中文标题】Servlet 与 MVC 框架 [关闭]【英文标题】:Servlets vs MVC frameworks [closed] 【发布时间】:2011-01-29 11:18:23 【问题描述】:我经常遇到这样的问题:为什么我们有很多 Web 框架解决了相同或相似的缺点。
在深入研究的时候,我也思考过为什么在其他 Web 框架(如 Struts、Spring MVC 等)出现之后没有使用 JSP / Servlets?
是因为,最新的网络框架
-
大部分事情都是自己做的?
提供了 Servlet/JSP 不具备的广泛功能?
还是说 Servlet/JSP 无法提供最新框架的功能?
非常感谢任何以回复或资源形式提供的帮助。
【问题讨论】:
【参考方案1】:我将分享我对此的一些想法。
-
如上所述,这些框架是在 Servlet/JSP 之上开发的。
它们旨在避免重复代码(DRY)。
框架基于设计模式 - 针对常见问题的通用可重用解决方案。
他们帮助在整个团队中轻松地沟通事情,让他们高效并专注于他们试图解决的企业级问题,而不是这些常见任务。
它们通过为众所周知的问题提供通用解决方案来帮助加快开发速度。 (例如表单验证、REST、测试、依赖注入等)
当您正在开发大型企业应用程序并且有多个开发人员在开发它时,您肯定需要在每个开发人员编写的项目/代码/结构之间保持一定的一致性。外部强制执行并不可靠,但是当这些执行被内置时,它有助于使项目易于维护、扩展并且易于新人在短时间内使用它。
我相信这条规则不仅适用于 servlet-jsp,也适用于 javascript。在构建企业级 UI 时,仅原生 JavaScript 甚至低级 JavaScript API/库是不够的。要么采用最佳可用框架,要么抽象出共同的本质,使其成为框架(而不是库)。
【讨论】:
【参考方案2】:Spring MVC 仍然与 JSP 一起工作,并且在其核心中,它只提供一个简单的调度程序 servlet,它使用 Spring MVC 框架提供的机制(您在其中注册控制器等)。我会说这是为了方便,让事情更容易编写和维护。此外,您可以更轻松地对当前的开发做出反应(例如 RESTful 服务......您必须在 servlet 中手动编写所有代码)。最后,这就是框架的用途。
【讨论】:
以上是关于Servlet 与 MVC 框架 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
PHP MVC框架Laravel似乎是一个错误Artisan Serve [重复]