在 Spring MVC 6.0.14 版本中,Spring 不再依赖 Java EE(Jakarta EE 8 及以下),而是完全迁移到 Jakarta EE 9+,即所有
javax.servlet
相关包都被替换成了jakarta.servlet
🔍 Spring MVC 6.0.14 依赖的 Servlet 版本
- Spring MVC 6+ 需要 Servlet 5.0 及以上版本
- Servlet 5.0 及以上属于 Jakarta EE 9
- Servlet API 包变更为 jakarta.servlet
📌 主要的 Servlet 相关依赖
你可以在 pom.xml
中添加以下依赖:
<dependency><groupId>jakarta.servlet</groupId><artifactId>jakarta.servlet-api</artifactId><version>6.0.0</version> <!-- 对应 Servlet 6.0 --><scope>provided</scope>
</dependency>
⚠️ 注意:
- Spring MVC 6 只能运行在 Servlet 5.0+ 容器上(如 Tomcat 10+)
- 如果你的 Tomcat 低于 10,请升级到 Tomcat 10 或更高版本!
🔍 Spring MVC 6.0.14 依赖的 Servlet 主要类
Spring MVC 6 默认使用 jakarta.servlet
相关类,如:
Servlet 相关功能 | Spring MVC 6 使用的 Jakarta API |
---|---|
Servlet 核心 API | jakarta.servlet.http.HttpServlet |
过滤器 | jakarta.servlet.Filter |
监听器 | jakarta.servlet.ServletContextListener |
请求 & 响应 | jakarta.servlet.http.HttpServletRequest 、jakarta.servlet.http.HttpServletResponse |
会话管理 | jakarta.servlet.http.HttpSession |
异步请求 | jakarta.servlet.AsyncContext |
🔍 Spring MVC 6 相关的 Tomcat 版本
Spring MVC 版本 | 需要的 Servlet 版本 | 支持的 Tomcat 版本 |
---|---|---|
Spring MVC 5.x | Servlet 3.1+ | Tomcat 8.5, 9 |
Spring MVC 6.x | Servlet 5.0+ | Tomcat 10+ |
🚨 重点提醒:Spring MVC 6 无法在 Tomcat 9 或更低版本运行!
✅ 结论
- Spring MVC 6.0.14 依赖的是 jakarta.servlet-api 6.0.0(Servlet 6.0)
- 必须使用 Tomcat 10+,否则会有 javax.servlet / jakarta.servlet 兼容性问题
- 如果 Tomcat 9 及以下,Spring MVC 6 无法运行,请升级 Tomcat 10+
🚀 建议:确保你的 pom.xml 依赖正确,并且 Tomcat 版本至少是 10.0+!