Druidの下にある阿里雲の広告を削除します.


現在のところ、druid-1.1.14のwebコンソールは依然として阿里雲の広告が存在しています.本文はフィルタを通して広告テキストをブロックします.
ポジショニング問題
広告を生成するJSファイルはdruid-1.1.14.jar/support/http/resources/js/common.jsにあります.
ソースを確認してください.buildFooterメソッドによってインプラントされ、init方法で呼び出されました.
問題を解決する
/**
 * Druid    
 *
 * @author BBF
 */
@Configuration
@AutoConfigureAfter(DruidDataSourceAutoConfigure.class)
public class DruidConfig {

  /**
   *      common.js   ,druid-1.1.14
   */
  private static final String FILE_PATH = "support/http/resources/js/common.js";
  /**
   *     ,         
   */
  private static final String ORIGIN_JS = "this.buildFooter();";
  /**
   *       
   */
  private static final String NEW_JS = "//this.buildFooter();";

  /**
   *   Druid       
   *
   * @param properties DruidStatProperties    
   * @return {@link org.springframework.boot.web.servlet.FilterRegistrationBean}
   */
  @Bean
  @ConditionalOnWebApplication
  @ConditionalOnProperty(name = "spring.datasource.druid.stat-view-servlet.enabled", havingValue = "true")
  public FilterRegistrationBean removeDruidAdFilter(
      DruidStatProperties properties) throws IOException {
    //   web       
    DruidStatProperties.StatViewServlet config = properties.getStatViewServlet();
    //   common.js     
    String pattern = config.getUrlPattern() != null ? config.getUrlPattern() : "/druid/*";
    String commonJsPattern = pattern.replaceAll("\\*", "js/common.js");
    //   common.js
    String text = Utils.readFromResource(FILE_PATH);
    //    this.buildFooter();      
    final String newJs = text.replace(ORIGIN_JS, NEW_JS);
    FilterRegistrationBean registration = new FilterRegistrationBean<>();
    registration.setFilter(new RemoveAdFilter(newJs));
    registration.addUrlPatterns(commonJsPattern);
    return registration;
  }

  /**
   *   druid      
   *
   * @author BBF
   */
  private class RemoveAdFilter implements Filter {

    private final String newJs;

    public RemoveAdFilter(String newJS) {
      this.newJs = newJS;
    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
        throws IOException, ServletException {
      chain.doFilter(request, response);
      //      ,        
      response.resetBuffer();
      response.getWriter().write(newJs);
    }
  }
}