Druid 统计监控页面无法打开

问题描述

最近在练习整合 Springboot + Druid,却发现当我在 yml 中配置好 Druid 后,系统总是出现 404 错误。

解决方法

搜集了网上的很多资料之后,我得到了两种总结的方法。

1. yml 配置

对于 Druid 依赖,有两种:druid 和 druid-spring-boot-starter。当我使用前者进行 yml 配置后,无法正确进入控制页面,使用后者即可。

补充一句,在我查到的很多博客中,有人将 1.1.20 版本降级后,出现了正确的页面,我自己测试 1.1.10 和 1.1.24 都可以正常显示。

yml 的配置如下:

spring:
  datasource:
    # =====================MySQL相关配置=====================
    name: mysql
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/tableName?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&useSSL=false
    #数据库连接账号
    username: username
    #数据库连接密码
    password: password
    #使用druid数据源
    type: com.alibaba.druid.pool.DruidDataSource
    #==================druid相关配置=========================================
    druid:
      # 此处省略其他配置
      # 配置StatFilter
      web-stat-filter:
        #默认为false,设置为true启动
        enabled: true
        url-pattern: "/*"
        exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
      #配置StatViewServlet
      stat-view-servlet:
        url-pattern: "/druid/*"
        #允许那些ip
        login-username: admin
        login-password: admin
        #是否可以重置
        reset-enable: false
        #启用
        enabled: true

依赖配置如下:

正确的依赖
<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.24</version>
        </dependency>
错误的依赖
<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.24</version>
</dependency>

在这里插入图片描述

2. 使用 servlet

使用上述的 druid 依赖,也可以通过 servlet 得到正常显示的页面。具体来说就是写一个 servlet 类,然后在启动类中标注 @ServletComponentScan 即可。

@WebServlet(urlPatterns="/druid/*",
        initParams={
                @WebInitParam(name="allow",value=""),// IP白名单(没有配置或者为空,则允许所有访问)
                /* @WebInitParam(name="deny",value="192.168.188.130"),*/// IP黑名单 (存在共同时,deny优先于allow)
                @WebInitParam(name="loginUsername",value="admin"),// 用户名
                @WebInitParam(name="loginPassword",value="123456"),// 密码
                @WebInitParam(name="resetEnable",value="false")// 禁用HTML页面上的“Reset All”功能
        })

public class DruidStatViewServlet extends StatViewServlet {
    private static final long serialVersionUID = -2688872071445249539L;
}
@ServletComponentScan
@SpringBootApplication
@MapperScan(value="com.xxx.xx.dao")
public class BackgroundApplication {

    public static void main(String[] args) {
        SpringApplication.run(BackgroundApplication.class, args);
    }

}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

阿德罗斯

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

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

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

打赏作者

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

抵扣说明:

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

余额充值