bug(Tomcat):【困扰】StandardContext.startInternal 由于之前的错误,Context[/day01]启动失败

引出

项目启动失败,一个困扰了一上午的bug


报错信息

org.apache.catalina.core.StandardContext.startInternal 一个或多个筛选器启动失败。完整的详细信息将在相应的容器日志文件中找到

org.apache.catalina.core.StandardContext.startInternal 由于之前的错误,Context[/day01]启动失败

问题描述

在启动项目的时候就报错,报错信息是 一个或多个筛选器启动失败,然后删除了项目中所有的过滤器,还是报错,上网查了解决方案,有说是项目结构的问题,几种说法汇总如下:

在这里插入图片描述

第一种说法:项目的输出路径设置成\WEB-INF\classes;没有解决该问题

在这里插入图片描述

在这里插入图片描述

第二种说法:项目的输出要配置,如下图,配置完成后,也没有解决该问题

在这里插入图片描述

第三种说法,在项目中添加jar包,新建lib目录,然后导入相关的包;也没有解决该问题

在这里插入图片描述

以上几种方式,尝试过后都无效,最后突发奇想,既然是web项目,那如果把servlet的文件全部删除,项目都没有servlet了,那肯定能启动起来,结果把servlet文件全部删除后,项目成功启动起来;

从而把问题定位到了servlet这里,仔细查看servlet文件后,发现了最终的原因,是因为一个servlet的注解@WebServlet(“/user/login”),不小心设置成了@WebFilter(“/user/info”),所以启动不起来,再回过头来看,报错信息确实是对的,就是一个或多个筛选器启动失败;但是这个报错信息没有定位到代码部分,所以查起来就比较麻烦。

真正原因

在这里插入图片描述

解决方案:

把@WebFilter(“/user/info”)改成,@WebServlet(“/user/info”)


总结

🐛 bug不可怕,找到它并消灭就好了!

一个servlet的注解@WebServlet(“/user/login”),不小心设置成了@WebFilter(“/user/info”):把@WebFilter(“/user/info”)改成,@WebServlet(“/user/info”)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Arya's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值