注解WebServlet配置Servlet报404错误的原因

Posted Tiger Expensive

tags:

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

使用注解WebServlet配置Servlet报404错误的原因
Servlet3.0之后新增了注解,用于简化Servlet、Filter及Listener的声明,这样就在配置Servlet的时候多了一个选择。Servlet3.0的部署描述文件web.xml的顶层标签<web-app>有一个metadata-complete属性,该属性为true,则容器在部署时只依赖部署描述文件,忽略所有标注,如果不配置该属性,或者将其设置为false,则表示启动标注支持。当metadata-complete="false"时,web.xml和注解对于Servlet的影响同时起作用,两种方法定义的url-partten都可以访问到该Servlet,但是当通过web.xml定义的url-partten访问时,注解定义的属性(初始化参数等)将失效。

但是,我们要知道JDK是在5.0之后才支持注解特性的,所以要想使用Servlet3.0的这个新特性必须JDK5.0以后的版本。而Tomcat容器是在7.0以后才开始支持此特性。所以通常使用WebServlet注解报404错误的原因可以总结如下:

使用的是JDK5.0以前的版本;

使用的是Tomcat7.0更早的版本;

使用了web.xml文件但是web-app标签的version属性不为3.0,导致容器没有按照Servlet 3.0版本正确配置;

以上是关于注解WebServlet配置Servlet报404错误的原因的主要内容,如果未能解决你的问题,请参考以下文章

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

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

servlet3.0注解@WebInitParam和@WebServlet

使用WebServlet注解和web.xml配置servlet映射路径的区别及注意事项

Servlet3.0提供的@WebServlet注解引用参数详情介绍

注解配置