【问题标题】:Spring mvc compatibile with Servlet 2.5Spring mvc 与 Servlet 2.5 兼容
【发布时间】:2016-11-17 19:11:46
【问题描述】:

我用 Spring mvc 3.0.9 开发了一些 rest 服务。在某些情况下,我有一个例外。这取决于我的 spring 版本使用 Servlet 3.0 api(我的应用程序服务器是 jboss eap 5.1)。与 Servlet 2.5 兼容的最新 spring mvc 版本是什么?谢谢。

【问题讨论】:

标签: spring spring-mvc servlets servlet-2.5


【解决方案1】:

Spring 3.2 应该与 Servlet 2.5 API 一起使用。

只有 Spring 4.0 需要 Serlvet 3.0:

请参考此官方documentation 了解更多信息。

Spring Framework 4.0 中的 3 个新特性和增强功能)

3.4 Java EE 6 和 7

Java EE 版本 6 或更高版本现在被视为 Spring 的基线 框架 4,具有 JPA 2.0 和 Servlet 3.0 规范 特别相关。

【讨论】:

  • 不,3.2版本使用Servlet 3.0,FrameWorkServlet使用Servlet 3.0的HttpServletResponse方法:java.lang.NoSuchMethodError: javax.servlet.http.HttpServletResponse.getHeader(Ljava/lang/String;)Ljava/lang/String; at org.springframework.web.servlet.FrameworkServlet.doOptions(FrameworkServlet.java:865)
【解决方案2】:

Spring 4.0 与 Servlet 2.5 一起使用。

查看文档:(https://docs.spring.io/spring/docs/4.3.14.RELEASE/spring-framework-reference/htmlsingle/)

3.4 Java EE 6 和 7

Java EE 版本 6 或更高版本现在被视为 Spring 的基线 框架 4,具有 JPA 2.0 和 Servlet 3.0 规范 特别相关。为了与 Google App 保持兼容 引擎和较旧的应用服务器,可以部署一个 Spring 4 应用程序进入 Servlet 2.5 环境。然而,Servlet 强烈建议使用 3.0+,并且是 Spring 的测试和模拟包的先决条件,用于在开发环境中进行测试设置。

3.7 一般网络改进

部署到 Servlet 2.5 服务器仍然是一种选择,但 Spring Framework 4.0 现在主要关注 Servlet 3.0+ 环境。 如果您使用的是 Spring MVC 测试框架,则需要确保 Servlet 3.0 兼容的 JAR 在您的测试类路径中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 2019-09-06
    • 1970-01-01
    • 2014-09-26
    • 1970-01-01
    • 2017-10-01
    相关资源
    最近更新 更多