@WebServlet注解无效访问servlet报404

本文介绍了解决Servlet注解导致的404错误的方法,包括检查web-app版本是否为3.0以上,以及确认metadata-complete属性是否设置为false,确保servlet能被正确访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@WebServlet(name = "transferServlet",urlPatterns = "/transferServlet")
public class TransferServlet extends HttpServlet {


tomcat正常启动,页面正常运行,当访问servlet时出现无响应的情况,控制台报错404,未访问到servlet。

解决方案

在这里插入图片描述

  • version是否大于3.0

因为web-app标签3.0以上版本才可以使用servlet的注解的,这是必要条件。如果web-app版本低于3.0,可以去tomcat的这个路径:

C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps\ROOT\WEB-INF 找到web.xml文件,打开,检查web-app标签版本,如果大于等于3.0,直接复制一份替换原有web-app标签就好了,或者直接用我的这个web-app标签去替换,版本为3.1

  • ②metadata-complete是否为false

该属性为true,则容器在部署时只依赖部署描述文件,忽略所有标注,如果不配置该属性,或者将其设置为false,则表示启动注解支持。当metadata-complete="false"时,web.xml和注解对于Servlet的影响同时起作用,两种方法定义的url-partten都可以访问到该Servlet,但是当通过web.xml定义的url-partten访问时,注解定义的属性将失效。所以如果你想用servlet注解来配置servlet的话,一定记得修改该属性为metadata-complete="false "。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值