大体思路
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