注解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版本正确配置;

原文地址:https://www.cnblogs.com/SacredOdysseyHD/p/9063141.html

时间: 2024-08-03 14:11:17

注解WebServlet配置Servlet报404错误的原因的相关文章

运用servlet3.0注解报404错误

我的环境是eclipse (查了一下2013EEIDE)+tomcat7.0+Servlet3.0 项目名称:day08BookManageCase servlet类是new servlet出来的如下代码,大部分代码省略,只留了注解部分. /** * Servlet implementation class FindAllServlet */ @WebServlet("/FindAllServlet") public class FindAllServlet extends HttpS

eclipse中配置的tomcat 启动正常 但是访问报404错误

问题描述: 在eclipse中配置的Tomcat,启动是正常的,控制台显示启动成功,也没有报任何错误信息,但是访问的时候就报404错误,然后直接在bin目录下启动startup.bat的方式就是正常的.然后就很纳闷,之后在网上搜了下资料,说是Eclipse的配置出了问题. 解决方案: 1.如果Server里的tomcat启动了,需要先停掉.然后再移除添加的项目 2.之后双击server中配置的tomcat服务器,会弹出如下界面. 3.在Server Locations配置中选择第二个选项,use

Eclipse配置tomcat后,启动tomcat,访问tomcat报404错误

当你在Eclipse中新建一个工程,配置好tomcat,然后测试tomcat是否配置成功的时候,报404错误异常. 解决方法: 1,把工程文件删除,重新建立一个新的工程, 2,新建一个工程. 3,New 一个 Server ,配置tomcat. 4,双击 弹出配置页面 在Server Locations配置中选择第二个选项,use tomcat installation ,保存,重新启动Tomcat服务,访问成功 注意: 上面不能进行选择,是置灰的,原因是我在这个服务器上启动过这个项目,只有刚新

404错误的调试分析 - 运行JSP动态网页Tomcat老是报404错误(详解)

一.开发JSP动态网页时,我们通过浏览器请求服务器上的某个资源的时候,或许会经常遇到报404错误的bug. 问题分析:出现这个bug的原因可能处在JSP网页里面,也可能是Servlet里面.假如要访问的资源不存在,就会产生404错误. (1)404错误可能是应用本身的问题.例如没有正常部署.web.xml部署时Servlet名字写错了 (2)也可能是文件的问题,JSP文件不存在.JSP名字打错了,或者Servlet没有配置 二.关于servlet配置参数url-pattern(Servlet路径

Adobe Dreamweaver CC MySQL连接 报404错误的解决方法

Adobe Dreamweaver CC MySQL连接时总报404报错,并给以下两个提示: 1) 在该服务器机器上没有测试服务器运行. 2) 为该站点指定的测试服务器没有映射到http://localhost/_mmServerScripts/MMHTTPDB.phpURL.请确认url前缀映射到了你站点的根上. 网上翻了一堆网站,折腾了两三天,发现可以按如下方法解决: 1)首先要在http://localhost/security/index.php配置mysql的访问密码(我用的是XAMP

当CodeIgniter遇到Nginx报404错误的解决办法

由于CodeIgniter当初是设计在apache的,而apache对pathinfo是支持比较好的,所以一切都很nice.但是当你把写好的代码放到nginx上,傻眼了,可能出了CodeIgniter的welcom之外,其他都是404错误.而我惊奇的发现,CodeIgniter的官方文档竟然对在Nginx上的配置只字不提.而你百度"CodeIgniter Nginx 404"又能搜到一堆一堆的文章,奇葩的是几乎每个文档的配置方法貌似还不大一样.如果你搞好了还罢,搞不好就是配几个晚上都搞

注解方式配置Servlet(Servlet3.0)

注解方式配置Servlet(Servlet3.0) Servlet3.0 主页http://download.oracle.com/otndocs/jcp/servlet-3.0-fr-eval-oth-JSpec/ 1.简单的servlet配置 @WebServlet(”/myservlet”) @WebServlet(name=”MyServlet”, urlPatterns={"/myservlet", "/bar"}) xxx/myservlet就可用执行该

ajax 后台java代码执行完毕 前端报404错误

一个ajax请求,到java后台代码,后台成功接受并执行相应处理,但是返回的时候,success却没进去,前端报404错误. 因为是由于Controller忘记写spring的@Responsebody注解,所以spring对返回值映射时找不到对应的视图,所以返回404 很常见的错误,虽然是拷贝,难免会忘记一些代码!

eclipse正常启动tomcat, 访问http://localhost:8080 却报404错误

eclipse正常启动tomcat,访问http://localhost:8080 却报404错误 修改下配置 就好操作如下图 打开eclipse的server视图,双击配置好的那个tomcat,出现tomcat配置窗口,看到那个server location 是不是选第一项(默认是第一项),请选到第二项.如果这3项都是灰色的,请删除配置好的tomcat,再重新配置一次,然后再选到第二项.重新启动tomcat问题解决!