当前位置: 首页 > news >正文

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”)

http://www.lryc.cn/news/92302.html

相关文章:

  • Java性能权威指南-总结6
  • 群的定义及性质
  • mac电脑git clone项目时报错证书过期和权限被拒绝
  • 【AIGC】Photoshop AI Beta版本安装使用(永久免费)
  • 01 云原生生态系统解读
  • Java——Java易错选择题复习(2)(计算机网络)
  • 【HTML5系列教程】
  • 二、电压源、电流源、受控源
  • 骨传导是哪个意思,推荐几款性能优的骨传导耳机
  • 利用Taro打造灵活的移动App架构
  • (转载)基于模拟退火算法的TSP问题求解(matlab实现)
  • splitpcap 使用说明
  • 配置docker阿里云镜像加速
  • 《消息队列高手课》课程学习笔记(八)
  • DC电源模块在工业自动化的应用
  • Java容器-集合
  • 总结890
  • 2023年5月青少年机器人技术等级考试理论综合试卷(二级)
  • 2023CCPC河南省赛 VP记录
  • 【ECCV2022】DaViT: Dual Attention Vision Transformers
  • Apache 配置与应用
  • OpenGL 纹理
  • Jeston Orin Nnao 安装pytorch与torchvision环境
  • ROS:常用可视化工具的使用
  • 智能应用搭建平台——LCHub低代码表单 vs 流程表单 vs 仪表盘
  • Mac下通过Docker安装ElasticSearch集群
  • MySQL redo log、undo log、binlog
  • 文件包含漏洞
  • Python 中的 F-Test
  • Docker网络模式