以前一直用的eclipse,web.xml文件自动生成的,没自己改过。
这次web.xml是先创建maven项目再添加web配置时,随便从一个web4.0项目里拷贝来的,然后就出问题了。
Servlet中写了注解@WebServlet("xxxx")
,但访问servlet时报404错误。
(一)看了web的确是3.0以上的,没找到问题在哪,看了篇博客解决了:https://www.cnblogs.com/iCheny/p/10976735.html
-
原web.xml(出问题的)
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0" metadata-complete="true"> </web-app>
-
用Servlet注解的话把metadata-complete改成false
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0" metadata-complete="false"> </web-app>
(二)补充:
-
如果项目名后来修改过了,要查看tomcat部署里的artifact是否和项目同名,不同名部署路径会出错。
-
不同名:
-
修改成同名的:
-