【问题标题】:which version of servlet api is used in Spring MVC?Spring MVC 中使用了哪个版本的 servlet api?
【发布时间】:2015-06-17 00:54:32
【问题描述】:

每个 Spring MVC 版本使用哪个版本的 servlet api,我在哪里可以找到这些信息?我在文档中找不到它们。

【问题讨论】:

  • 看看Maven 和依赖关系。
  • @Boris the Spider 谢谢!知道为什么它们没有出现在 mvn dependency:tree 中吗?
  • 看看pom - <optional>true</optional>。事实上,如果 servlet API 包含在您的构建中,您的 servlet 容器就会大惊小怪,它的工作是在运行时提供实现 - 捆绑 API 会导致奇怪而奇妙的问题。
  • @boris the spider 谢谢!
  • @Yeonho Spring Security 的行为略有不同,具体取决于您使用的 servlet 版本。 Esp wrt 会话固定

标签: java spring spring-mvc servlets


【解决方案1】:

Spring MVC 4 主要关注 Servlet 3.0+ 环境。 信息在spring框架参考手册中给出。

【讨论】:

  • 我很好奇他们用于构建库本身的确切版本,等等。
  • 下载 Springs 框架源码并用 IDE 检查。也许你会得到答案。
【解决方案2】:

还有另一种查找依赖项的方法:

如果可以通过mvnrepository 找到某些东西(例如 Spring WebMVC),那么您可以在那里查找依赖项。

例如:

org.springframework » spring-webmvc

下:提供的依赖项

-------------------------------------------------- ------------ |WebMVC |依赖 |最小-最大版本 -------------------------------------------------- ------------ |5.1.9 |javax.servlet » javax.servlet-api|4.0.1 -------------------------------------------------- ------------ |5.0.15 |javax.servlet » javax.servlet-api|4.0.1 -------------------------------------------------- ------------ |4.3.25 |javax.servlet » javax.servlet-api|3.0.1 - 4.0.1 -------------------------------------------------- ------------ |4.2.9 |javax.servlet » javax.servlet-api|3.0.1 - 4.0.1 -------------------------------------------------- ------------ |4.1.9 |javax.servlet » javax.servlet-api|3.0.1 - 4.0.1 -------------------------------------------------- ------------ |4.0.9 |javax.servlet » javax.servlet-api|3.0.1 - 4.0.1 -------------------------------------------------- ------------ |3.2.18 |javax.servlet » javax.servlet-api|3.0.1 - 4.0.1 -------------------------------------------------- ------------ |3.1.4 |javax.servlet » javax.servlet-api|2.1 - 2.3.3 -------------------------------------------------- ------------ |3.0.7 |javax.servlet » javax.servlet-api|2.1 - 2.3.3 -------------------------------------------------- ------------ |2.5.6.SEC03|javax.servlet » javax.servlet-api|2.4 - 4.0.1 -------------------------------------------------- ------------ |2.0.8 |javax.servlet » javax.servlet-api|2.4 - 4.0.1 -------------------------------------------------- ------------

【讨论】:

  • 您能否提供更多详细信息,说明您在 maven 依赖项页面上的“提供的依赖项”部分是在哪里找到的?
  • 对于示例链接,您必须单击版本号 - 然后查看 Compiled Dependencies ...
  • 但是上表是你手动检查每个版本后自己写的还是你自己生成的?
  • 我是手动检查每个版本后自己写的。
  • 谢谢你的信息,这就是我好奇的原因。我希望有一个工具可以生成这个,但这可能是一个好主意
【解决方案3】:

它的依赖范围:“提供”@PowerStat,不应被视为完全依赖。

https://mvnrepository.com/artifact/org.springframework/spring-webmvc/5.0.0.RELEASE


1. Java EE 7 API level required in Spring's corresponding features now.

Servlet 3.1, Bean Validation 1.1, JPA 2.1, JMS 2.0
Recent servers: e.g. Tomcat 8.5+, Jetty 9.4+, WildFly 10+


2. Compatibility with Java EE 8 API level at runtime.

Servlet 4.0, Bean Validation 2.0, JPA 2.2, JSON Binding API 1.0
Tested against Tomcat 9.0, Hibernate Validator 6.0, Apache Johnzon 1.1

来自官方文档 https://github.com/spring-projects/spring-framework/wiki/What%27s-New-in-Spring-Framework-5.x#whats-new-in-version-50

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多