1. Tomcat9.0 和 Springmvc 不适配,在pom.xml中将Spirng回退到5.0版本即可;
2. 同时,Tomcat服务器版本(Tomcat 9.0)并不支持Jakarta EE的命名空间,要将pom.xml中依赖继续使用javax.servlet
包;
<properties>
<!-- <spring.version>6.0.6</spring.version>-->
<spring.version>5.3.20</spring.version>
<servlet.api.version>4.0.1</servlet.api.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- springioc相关依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<!--
在 Spring Web MVC 6 中,Servlet API 迁移到了 Jakarta EE API,
因此在配置 DispatcherServlet 时需要使用Jakarta EE 提供的相应类库和命名空间。
错误信息 “‘org.springframework.web.servlet.DispatcherServlet’ is not
assignable to ‘javax.servlet.Servlet,jakarta.servlet.Servlet’”
表明使用了旧版本的Servlet API,没有更新到 Jakarta EE 规范。
-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<!-- springwebmvc相关依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>