druid去除广告(最少代码,精简易懂)

大体思路


1.找到对应的文件,替换触发广告的方法

2.注册一个filter,拦截对js的访问


代码


相关引入包

import com.alibaba.druid.util.Utils;

import org.springframework.boot.web.servlet.FilterRegistrationBean;

import org.springframework.context.annotation.Bean;

import javax.servlet.Filter;

import java.io.IOException;


/**

* 去除Druid监控页面的广告

*/

@Bean

public FilterRegistrationBean removeDruidAdFilter() throws IOException {

  // 获取common.js内容

  String text= Utils.readFromResource("support/http/resources/js/common.js");

  // 屏蔽 this.buildFooter(); 直接替换为空字符串,让js没机会调用

  final String newJs= text.replace("this.buildFooter();", "");

// 新建一个过滤器注册器对象

  FilterRegistrationBean<Filter> registration= new FilterRegistrationBean<>();

  // 注册common.js文件的过滤器

  registration.addUrlPatterns("/druid/js/common.js");

  // 添加一个匿名的过滤器对象,并把改造过的common.js文件内容写入到浏览器

  registration.setFilter((servletRequest, servletResponse, filterChain) ->{

      // 重置缓冲区,响应头不会被重置

      servletResponse.resetBuffer();

      // 把改造过的common.js文件内容写入到浏览器

      servletResponse.getWriter().write(newJs);

  });

  return registration;

}


最后

为什么要写这个,因为我搜了好几个都比较繁琐或者说的不是特别到位

主要参考链接(可以对比一下本文与一下链接的差异)

https://blog.csdn.net/weixin_34387284/article/details/88426386

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容