Servlet使用注解配置URl提示404错误

Posted Bradwarden

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Servlet使用注解配置URl提示404错误相关的知识,希望对你有一定的参考价值。

刚接触servlet 3.0,使用注释描述servlet

@WebServlet(name="FirstServlet", urlPatterns="/FirstServlet" )

但是无论部署好了无论如何访问都报404,纠结了很久,是因为web.xml 里面的一个属性设置有问题

metadata-complete="true"

改为

metadata-complete="false"

 

为什么将metadate-complete设置为false,就可以运行了呢?

因为:

Servlet 3.0 的部署描述文件 web.xml 的顶层标签 <web-app> 有一个 metadata-complete 属性,该属性指定当前的部署描述文件是否是完全的。如果设置为 true,则容器在部署时将只依赖部署描述文件,忽略所有的注解(同时也会跳过 web-fragment.xml 的扫描,亦即禁用可插性支持);如果不配置该属性,或者将其设置为 false,则表示启用注解支持(和可插性支持)。

当web.xml和注解同时存在的时候,会使用的是web.xml中所配置的内容,而忽略了注解配置的内容。

 

以上是关于Servlet使用注解配置URl提示404错误的主要内容,如果未能解决你的问题,请参考以下文章

@WebFilter("")配置servlet访问出现404的原因

Servlet中写了注解@WebServlet但访问servlet报404错误

Servlet中写了注解@WebServlet但访问servlet报404错误

一个servlet问题?运行之后,提示404错误,请问哪里错了??

HTTP 状态 404 - 未找到 Servlet

localhost63342servlet请求404错误