无法在 web.xml 中解析 Servlet

Servlet cannot be resolved in web.xml

出于某种原因,idea 点亮了调度程序 servlet,当我启动 tomcat 时出现 404 错误。我正在使用 spring mvc 和 Maven,这里是 web.xml 的图片 感谢每一个答案=) webapp/web.xml

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="
        http://java.sun.com/xml/ns/javaee
        http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

您还需要添加 servlet 映射,然后在类路径中添加 spring-webmvc-version.jar

<servlet>
    <servlet-name>appServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>appServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

发现问题,使用的是tomcat7-maven-plugin编译版本maven-compiler-plugin1.8,改成1.7后问题消失了。 但是有没有类似tomcat7-maven-plugin的解决方案呢?因为我在网上没有找到tomcat8-maven-plugin

感谢大家的参与

我遇到了同样的问题。事实证明,我使用的是旧公司 settings.xml 文件作为 Maven 用户设置文件。如果有人遇到此问题,请尝试使用 Maven 模板用户文件。

打开下面的设置:
项目设置 -> Facets -> Web -> 部署描述符

检查此处的路径并确保它可用。如果没有,请单击绿色 + 添加您的 Web 模块路径。

  1. 将 spring mvc.jar 文件(如果您使用的是 spring 和 mvc)添加到 class 库
  2. 确保 [name]-sevlet.xml 文件设置正确。 use name inside the "sevlet-name" name "servlet-name" in the web.xml.

我添加了 Web 模块的路径。使用 Intellij 单击项目结构,然后单击 select Facets。部署描述符可能必须为空(不好),所以添加路径。