当前位置: 首页 > 面试题库 >

Raw Servlet与Spring MVC的比较

柯骏
2023-03-14
问题内容

您应该使用原始Java Servlet或使用Spring MVC(或任何其他框架)来构建Web应用程序的原因是什么?

当您应该避免使用Spring MVC时是否有例外,使用Raw Servlet这样做有什么好处?


问题答案:

如果您要构建一个非常快速且肮脏的演示,并且不打算在以后进行扩展,那么spring可能会导致很多其他配置问题(如果您以前曾做过,则不是真的,但是我总是以为最终解决这个问题)方式),因此可能是时候考虑只使用普通的旧servlet了。一般而言,使用某种形式的MVC框架,除了超快速而肮脏的演示之外,其他任何事情都将使将来的生活变得更加轻松,并且也与最佳实践保持一致。Spring使事情变得超级容易,只需要花一些时间在前端进行所有配置即可。

我应该注意,与Java servlet不能做的事与Spring不能做的事。最大的区别是设置时间。

编辑: 值得注意的是,当我发布此答案时,我没有意识到Spring
Boot实际上非常容易使用嵌入式Web服务器或更常规的Web容器运行。这是一个快速入门示例的链接:http : //projects.spring.io/spring-boot/#quick-
start



 类似资料:
  • 我正在通过在线示例学习使用FreeMarker的SpringMVC。我遇到了这个错误,但是我不知道我的getFreemarkerConfig()方法有什么问题,一整天我都在试图修复它,但是没有成功。

  • 我目前正在为一个Spring MVC项目编写一些单元测试。由于返回的媒体类型是JSON,我尝试使用jsonPath检查是否返回了正确的值。 我遇到的麻烦是验证一个字符串列表是否包含正确的(并且仅仅是正确的)值。 我的计划是: 检查列表是否有正确的长度 对于应该返回的每个元素,检查它是否在列表中 可悲的是,这些东西似乎都不起作用。 以下是我的代码的相关部分: 只有前两个“期望”(isOk 有什么建议

  • 我的样本代码在这里 尝试运行junit测试时,收到以下错误消息。 JAVAlang.IllegalStateException:未能加载ApplicationContext 原因:org。springframework。豆。工厂BeanCreationException:创建名为“nameDao”的bean时出错:调用init方法失败;嵌套的异常是java。lang.IllegalArgument

  • 我正在使用Spring MVC和Drools expert。spring版本4.0。0 drools版本(6.0.1) 我正在使用RAD 8和WAS 8 应用程序启动失败,出现异常(见下文) spring集成在批处理模式下工作正常。当我从web应用程序调用它时,当我将kie后处理器添加到应用程序上下文时,web应用程序就会失败。 这是堆栈跟踪。

  • 问题内容: 我目前正在评估基于Java的安全框架,我是Spring 3.0用户,因此似乎似乎SpringSecurity是正确的选择,但是Spring安全性似乎受到过分复杂的困扰,它似乎并没有使安全性易于实现, Shiro似乎更加连贯,更容易理解。我正在寻找这两个框架之间的利弊清单。 问题答案: 我也同意Spring Security对我来说感觉太复杂了。当然,他们已经做了一些降低复杂性的事情,例

  • 根据Android文档,finish()的功能与“后退”按钮的功能完全相同。基本上,当我调用finish()时,会调用onStop()。 我试图重写onStateSaveInstance()以保存当前状态,但从未调用它。但是,如果通过创建新的Intent并使用startActivity()转到上一个活动,则会调用onStateSaveInstance()方法。这有什么原因吗?

  • 本文向大家介绍802.16与802.11的比较,包括了802.16与802.11的比较的使用技巧和注意事项,需要的朋友参考一下 IEEE 802.16是定义微波访问无线互操作性(WiMAX)的标准,该技术是将网络服务提供到宽带访问的最后一英里的无线技术。 IEEE 802.11标准制定了在有限区域内连接无线设备的无线局域网(WLAN)或Wi-Fi的规范。 下表比较了802.16和802.11- 特

  • 目前,我的应用程序使用SpringMVC进行所有控制器映射。我正在尝试实现一个tinyMCE拼写检查,它包括一个Servlet,我不确定如何在不修改该文件本身的情况下正确集成该Servlet。我想避免修改,这样如果我们以后有新版本,我们就可以了。 Servlet看起来像...