无法在 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-plugin
1.8,改成1.7后问题消失了。
但是有没有类似tomcat7-maven-plugin
的解决方案呢?因为我在网上没有找到tomcat8-maven-plugin
感谢大家的参与
我遇到了同样的问题。事实证明,我使用的是旧公司 settings.xml 文件作为 Maven 用户设置文件。如果有人遇到此问题,请尝试使用 Maven 模板用户文件。
打开下面的设置:
项目设置 -> Facets -> Web -> 部署描述符
检查此处的路径并确保它可用。如果没有,请单击绿色 + 添加您的 Web 模块路径。
- 将 spring mvc.jar 文件(如果您使用的是 spring 和 mvc)添加到 class 库
- 确保 [name]-sevlet.xml 文件设置正确。
use name inside the "sevlet-name" name "servlet-name" in the web.xml.
我添加了 Web 模块的路径。使用 Intellij 单击项目结构,然后单击 select Facets。部署描述符可能必须为空(不好),所以添加路径。
出于某种原因,idea 点亮了调度程序 servlet,当我启动 tomcat 时出现 404 错误。我正在使用 spring mvc 和 Maven,这里是 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-plugin
1.8,改成1.7后问题消失了。
但是有没有类似tomcat7-maven-plugin
的解决方案呢?因为我在网上没有找到tomcat8-maven-plugin
感谢大家的参与
我遇到了同样的问题。事实证明,我使用的是旧公司 settings.xml 文件作为 Maven 用户设置文件。如果有人遇到此问题,请尝试使用 Maven 模板用户文件。
打开下面的设置:
项目设置 -> Facets -> Web -> 部署描述符
检查此处的路径并确保它可用。如果没有,请单击绿色 + 添加您的 Web 模块路径。
- 将 spring mvc.jar 文件(如果您使用的是 spring 和 mvc)添加到 class 库
- 确保 [name]-sevlet.xml 文件设置正确。 use name inside the "sevlet-name" name "servlet-name" in the web.xml.
我添加了 Web 模块的路径。使用 Intellij 单击项目结构,然后单击 select Facets。部署描述符可能必须为空(不好),所以添加路径。