Druid无法登录监控页面

问题表现:在配置和依赖都正确的情况下,无法通过配置的用户名密码登录Druid的监控页面

在这里插入图片描述
检查配置发现 配置的用户名和密码和请求中参数是一致的🤔

Debug发现 ResourceServlet 是Druid的登录实现, 且调试发现usernameParam是null,但是前端请求是看到有参数的。
在这里插入图片描述

开始查看当前线程栈上游都经过了哪些过滤器和拦截器,找到第一个接收前端请求的地方看是否接收到参数,然后发现getParamter()是有值的. 这个时候放开了断点,想再试一次看是哪层丢了值,结果发现页面登录成功了。🤨

仔细调试 org.apache.catalina.connector.Request 类后发现了问题的原因
在这里插入图片描述在这里插入图片描述首先是getParameter方法看起来是get 读操作,实际上还做了惰性的解析的写操作,所以这也是为什么代码规范中推荐get命名的方法不要藏有副作用的逻辑,只能是读操作。
其次解析逻辑中如果符合usingInputStream || usingReader 就会退出不会走后续的解析参数逻辑。

在这里插入图片描述
因为有监控所有请求日志的需求,所以有个Filter负责复制Request内容,此处会触发一次读Request的Body流,然后导致了这次的问题。
由于我在第一个Filter执行前就在Debug中执行了 getParameter 方法,也就触发了parseParameters方法执行,所以Druid的Service就能获取到参数了。
在这里插入图片描述在这里插入图片描述

所以最后解决方案就是在复制Request的Body 去构造 BodyReaderWrapper 前,先调用一次request.getParameter 方法 🤣

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2803433.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

java集合解析-Collection 类型

Java 集合概览 Java 集合, 也叫作容器,主要是由两大接口派生而来: 一个是 Collection接口,主要用于存放单一元素; 另一个是 Map 接口,主要用于存放键值对。对于Collection 接口,下面又有三个…

骨传导什么牌子好?六大专业选购的黄金规则与避坑指导

谈论到运动时佩戴的耳机,骨传导耳机必须是话题中的热点。与传统耳机或入耳式耳机不同,骨传导耳机解放了你的耳道,让你在挥洒汗水的同时,也能享受音乐的魅力。更重要的是,它不会阻碍你听到周围的声音,这对于…

盘点自动化汽车生产线设备 数据采集分析联合各设备

1.机器人自动装配线 机器人自动装配线已成为汽车制造业中的常见场景。这些机器人在汽车组装的各个环节发挥关键作用,从焊接和铆接到零部件组装。它们不仅提高了装配速度,还确保了产品的一致性,降低了废品率。 2.3D打印技术 3D打印技术正在汽车…

医院信息系统(HIS):一文扫盲,算是所有信息系统里面复杂的

大家好,我是贝格前端工场,本期继续分享常见的B端管理系统,欢迎大家关注,如有B端写系统界面的设计和前端需求,可以联络我们。 一、什么是HIS系统 HIS系统(Hospital Information System)是医院信…

【操作系统】磁盘存储空间的管理

实验5 磁盘存储空间的管理 一、实验目的 磁盘是用户存放程序和数据的存储设备,磁盘管理的主要目的是充分有效地利用磁盘空间。本实验模拟实现磁盘空间的分配与回收,使学生对磁盘空间的管理有一个较深入的理解。 二、实验内容 实验任务:用位…

Canal + Kafka 同步 MySQL 数据到 Redis

解决缓存和数据库一致性问题 一般来说,缓存中的数据没什么问题,但是数据库更新后,就容易出现缓存(Redis)和数据库(MySQL)间的数据一致性问题。由于写和读是并发的,没法保证顺序&…

运营抖店为什么不能多选类目?什么类目适合新手来玩?

大家好,我是电商小布。 想要入驻抖音小店,必备的资质材料就是营业执照。 而执照上的范围,就是我们开店所能选择的经营类目。 有的小伙伴在开店的时候,并没有想明白自己是想要做什么,小店未来的发展方向是什么。 结…

Docker基础篇(四) 容器数据卷 容器间传递共享(--volumes-from)

容器间传递共享 当前没有运行的容器 两个数据卷: containVolum-01 containVolum-02 docker run -it --name zenA zen/centos 上面生成了容器 zenA ctrl P Q docker run -it --name zenB1 --volumes-from zenA zen/centos ctrl P Q docker run -it --name zen…

全球游戏市场回暖,Flat Ads推动海外获客增长

摘要:热门游戏品类分析,解读新兴市场与赛道 近日,中国音数协游戏工委发布了《2023年中国游戏出海研究报告》,据报告数据显示,2023年,全球游戏市场规模11773.79亿元,同比增长6.00%,呈现增长回暖趋势。 图源:伽马数据 1.SLG和RPG游戏热度居高不下,休闲游戏增长势头强劲 目前,S…

java 时间格式 YYYY 于yyyy的区别

java formatDate 时间时,经常需要输入格式比如 YYYYMMDD,yyyyMMdd 这两个是有区别的 具体每个参数可以看下面

左手“兑抵接”,右手债务逾期,华夏幸福离“上岸”还有多远?

撰稿|行星 来源|贝多财经 进入2024年,华夏幸福仍不太“幸福”。 近日,华夏幸福基业股份有限公司(SH: 600340,下称“华夏幸福”)发布了关于债务逾期、债务重组进展等事项的公告。内容显示,华夏幸福截至1月…

MybatisPlus--03--IService、ServiceImpl

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1. IService接口1.1 IService、ServiceImpl 接口的使用第一步:实现basemapper接口第二步:编写service类第三步:编写serviceImpl第…

白令海峡的题解

原题描述: 时间限制: 1000ms 空间限制: 524288kB 题目描述 很久很久以前,一座大陆桥横跨西伯利亚东端与美洲大陆西端。 处于进化早期的人类,正以部落的形式在大陆上游荡、捕猎,四海为家。在饥饿与寒冷折磨下,人…

开源软件:塑造软件行业未来的协作与创新之力

随着信息技术的迅猛发展,开源软件已经逐渐成为软件开发的潮流,以其独特的低成本、可协作性和透明度等特性,在全球范围内引起了广泛的关注和应用。越来越多的企业和个人选择使用开源软件,这不仅推动了软件行业的繁荣,还…

电路设计(27)——交通信号灯的multisim仿真

1.功能要求 使用数字芯片设计一款交通信号灯,使得: 主干道的绿灯时间为60S,红灯时间为45S 次干道的红灯时间为60S,绿灯时间为45S 主、次干道,绿灯的最后5S内,黄灯闪烁 使用数码管显示各自的倒计时时间。 按…

: ) 万字项目实践指南——贪吃蛇 手把手教你写出自己的小游戏!

目录 前言 1. 游戏背景 2. 游戏效果演示 3. 目标 4. 项目定位 5. 技术要点 6. Win 32 API 介绍 6.1 Win32 API 6.2 控制台程序(Console) 6.3 控制台屏幕上的坐标COORD​ 6.4 GetStdHandle 6.5 GetConsoleCursorInfo 6.5.1 CONSOLE_CURSOR_INFO ​ 6.6 SetConsoleCur…

Yooasset、UniTask 使用遇到的一个奇怪的问题

先上截图 从截图可以看出 释放资源的方法是一个同步方法,但是执行释放资源的时候,竟然触发了我另一个地方的代码。 经检查,这个地方之所以会被执行,是因为Yooasset在释放资源的时候,激活了加载资源的等待。

迅为RK3568开发板驱动开发指南-输入子系统

《iTOP-RK3568开发板驱动开发指南》更新,本次更新内容对应的是驱动(第十三篇 输入子系统)视频,帮助用户快速入门,大大提升研发速度。 第13篇-输入子系统目录 第1篇 驱动基础篇 第2篇 字符设备基础 第3篇 并发与竞争 …

如何用jmeter请求application/octet-stream,image/jpeg

用postman调用时: 用jmeter: 注意上图不要勾选,不然会把所有的内容都以二进制传进去,我们不勾选只传二进制的图片内容,勾选了会把MIME类型、参数名称都转为二进制传进去。会报错。