今天更新别人代码后,发现之前写的servlet调用不通了
然后发现web.xml里的头加了一个metadata-complete="true"属性
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0" metadata-complete="true">
在网上查了下,发现
metadata-complete="true",会在启动时不扫描注解(annotation)。如果不扫描注解的话,用注解进行的配置就无法生效,例如:@WebServlet
代码都是@WebServlet这样写的,所以请求不到了
至于metadata-complete属性及相关的说明请看
https://www.ibm.com/developerworks/cn/java/j-lo-servlet30/