项目原来可以启动部署,不知道怎么突然启动报错,网上说是jdk版本不一致,但是查看了一下我的,一致的,
后来在tomcat 的conf文件夹下web.xml中加上metadata-complete="true"好了
其作用是
在启动@webservlet注解的时候,需要配合web.xml配置文件属性才能生效,否则容易报如下访问错误:
需要将metadata-complete设置为false,或者不设该属性。
metadata-complete属性讲解
Servlet 3.0 的部署描述文件 web.xml 的顶层标签 <web-app> 有一个 metadata-complete 属性,该属性指定当前的部署描述文件是否是完全的。如果设置为 true,则容器在部署时将只依赖部署描述文件,忽略所有的注解(同时也会跳过 web-fragment.xml 的扫描,亦即禁用可插性支持,具体请看后文关于 可插性支持的讲解);如果不配置该属性,或者将其设置为 false,则表示启用注解支持(和可插性支持)