You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SpringMVC配置报错:DispatcherServlet无法赋值给jakarta.servlet.Servlet

解决SpringMVC中org.springframework.web.servlet.DispatcherServlet无法赋值给jakarta.servlet.Servlet的问题

问题原因

这个错误是Servlet API版本与SpringMVC版本不兼容导致的:

  • Spring Framework 6.x(含SpringMVC 6.x)基于Jakarta EE 9+,依赖jakarta.servlet.*包;
  • Spring Framework 5.x及以下基于Java EE,依赖javax.servlet.*包;
  • 两者包名完全不同,跨版本混用就会出现类型转换失败的报错。

解决步骤

1. 对齐SpringMVC与Servlet API版本

根据你使用的SpringMVC版本,选择对应的Servlet API依赖:

  • 若用SpringMVC 6.x及以上:必须引入Jakarta Servlet API
  • 若用SpringMVC 5.x及以下:必须引入Java EE Servlet API

2. 修正pom.xml依赖示例

示例1:SpringMVC 6.x + Jakarta Servlet API

<!-- SpringMVC核心依赖 -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>6.1.0</version>
</dependency>
<!-- Jakarta Servlet API(需与SpringMVC版本匹配) -->
<dependency>
    <groupId>jakarta.servlet</groupId>
    <artifactId>jakarta.servlet-api</artifactId>
    <version>6.0.0</version>
    <scope>provided</scope>
</dependency>

示例2:SpringMVC 5.x + Java EE Servlet API

<!-- SpringMVC核心依赖 -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.29</version>
</dependency>
<!-- Java EE Servlet API -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
    <scope>provided</scope>
</dependency>

3. 额外注意事项

  • 禁止同时引入javax.servlet-api和jakarta.servlet-api,避免依赖冲突;
  • 若使用Spring Boot,直接用对应的starter即可自动管理版本:
    • Spring Boot 3.x(对应SpringMVC 6.x):
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
          <version>3.2.0</version>
      </dependency>
      
    • Spring Boot 2.x(对应SpringMVC 5.x):
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
          <version>2.7.15</version>
      </dependency>
      

内容的提问来源于stack exchange,提问作者YFF123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 13:35:23