'org.springframework.web.servlet.DispatcherServlet' 未分配到 'javax.servlet.Servlet,jakarta.servlet.Servlet'
时间: 2023-12-14 10:49:53 浏览: 314
这个问题通常是由于使用的是老版本的 Servlet API 导致的。在最新版本的 Servlet API 中,javax.servlet 包已经改为 jakarta.servlet 包。
解决方法是更新你的项目依赖,使用最新版本的 Servlet API。如果你正在使用 Maven,可以在 pom.xml 中将 servlet-api 的版本更新为最新版本:
```xml
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>4.0.4</version>
<scope>provided</scope>
</dependency>
```
如果你正在使用其他构建工具,也可以查找最新版本的 Servlet API 并更新你的项目依赖。
另外,还需要确保你的 web.xml 文件中的 servlet-class 指定的是 jakarta.servlet.DispatcherServlet,而不是旧版本的 javax.servlet.DispatcherServlet。
```xml
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>jakarta.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/app-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
```
阅读全文