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 框架 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

与 Spring MVC 的 HTML 集成

PHP MVC框架Laravel似乎是一个错误Artisan Serve [重复]

基于MVC的应用框架之Struts

Web 框架:Play 与 Spring MVC 有何不同? [关闭]

ssm框架

Struts 2 学习笔记