SpringMVC 6+ 依赖的 servlet 版本问题

ops/2025/3/13 5:07:07/

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 核心 APIjakarta.servlet.http.HttpServlet
过滤器jakarta.servlet.Filter
监听器jakarta.servlet.ServletContextListener
请求 & 响应jakarta.servlet.http.HttpServletRequestjakarta.servlet.http.HttpServletResponse
会话管理jakarta.servlet.http.HttpSession
异步请求jakarta.servlet.AsyncContext

🔍 Spring MVC 6 相关的 Tomcat 版本

Spring MVC 版本需要的 Servlet 版本支持的 Tomcat 版本
Spring MVC 5.xServlet 3.1+Tomcat 8.5, 9
Spring MVC 6.xServlet 5.0+Tomcat 10+

🚨 重点提醒:Spring MVC 6 无法在 Tomcat 9 或更低版本运行!

  • 必须使用 Tomcat 10+(或 Jetty 11+)
  • Spring MVC 6 不支持 javax.servlet.*,必须改用 jakarta.servlet.*

✅ 结论

  1. Spring MVC 6.0.14 依赖的是 jakarta.servlet-api 6.0.0(Servlet 6.0)
  2. 必须使用 Tomcat 10+,否则会有 javax.servlet / jakarta.servlet 兼容性问题
  3. 如果 Tomcat 9 及以下,Spring MVC 6 无法运行,请升级 Tomcat 10+

🚀 建议:确保你的 pom.xml 依赖正确,并且 Tomcat 版本至少是 10.0+!


http://www.ppmy.cn/ops/165331.html

相关文章

Spring 面向切面编程 XML 配置实现

Spring 支持AOP &#xff0c;并且可以通过XML配置来实现。 <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xmlns:aop"http://www.springframework.org/schema/aop"xmlns:…

LINUX系统安装+添加共享目录

一、前言 Windows或mac系统中创建Linux工作环境是基于VMware和SL(Scientific Linux)&#xff0c;下面分别安装二者。 二、VMware软件安装及注册 1、双击VMware安装包 2、点击下一步 3、 勾选接受许可&#xff0c;并点击下一步 4、更改路径&#xff08;建议更改为容易找到的路…

蓝桥备赛(12)- 顺序表和 vector(下)

目录 一、动态顺序表 - vector 4.1 创造vector 4.2 size/empty 4.3 begin/end 4.4 push_back / pop_back 4.5 front / back 4.6 resize 4.7 clear 二、算法题 2.1 询问学号 2.2 寄包柜 2.3 移动零 2.4 颜色分类 2.5 合并两个有序数组 三 、拓展ACM模式 VS 核心代…

Spring Boot + MyBatis + MySQL:快速搭建CRUD应用

一、引言 1. 项目背景与目标 在现代Web开发中&#xff0c;CRUD&#xff08;创建、读取、更新、删除&#xff09;操作是几乎所有应用程序的核心功能。本项目旨在通过Spring Boot、MyBatis和MySQL技术栈&#xff0c;快速搭建一个高效、简洁的CRUD应用。我们将从零开始&#xff…

解决电脑问题(3)——显示器问题

当电脑显示器出现问题时&#xff0c;可以根据不同的故障现象采取相应的解决方法&#xff0c;以下是一些常见的情况及解决措施&#xff1a; 屏幕无显示 检查连接&#xff1a;首先检查显示器与电脑主机之间的视频连接线是否插好&#xff0c;确保两端的接口都牢固连接&#xff0c…

vulnhub靶场之【digitalworld.local系列】的snakeoil靶机

前言 靶机&#xff1a;digitalworld.local-snakeoil&#xff0c;IP地址为192.168.10.11 攻击&#xff1a;kali&#xff0c;IP地址为192.168.10.6 kali采用VMware虚拟机&#xff0c;靶机选择使用VMware打开文件&#xff0c;都选择桥接网络 这里官方给的有两种方式&#xff0…

python基础知识补充

一.区分列表、元组、集合、字典&#xff1a; 二.输出&#xff1a; <1>格式化输出字符串&#xff1a; 格式符号转换%s字符串%d有符号的十进制整数%f浮点数%c字符%u无符号十进制整数%o八进制整数%x十六进制整数&#xff08;小写ox&#xff09;%X十六进制整数(大写OX)%e科…

Windows10下docker desktop命令行操作指南(大部分也适用于Linux)

Windows系统最大的特点就是可视化操作&#xff0c;点点鼠标就能操作软件。但是在特殊的情况下&#xff0c;比如docker desktop图标点了之后没反应&#xff0c;但是看后台程序&#xff0c;它又已经运行了&#xff0c;这时候就要使用命令行来操作了。 针对这次情况&#xff0c;所…