配置Druid的监控页功能:
Druid内置提供了一个StatViewServlet用于展示Druid的统计信息。官方文档 - 配置_StatViewServlet配置。这个StatViewServlet的用途包括:
- 提供监控信息展示的html页面。
- 提供监控信息的JSON API。
Druid内置提供一个StatFilter,用于统计监控信息。官方文档 - 配置_StatFilter。
WebStatFilter用于采集web-jdbc关联监控的数据,如SQL监控、URI监控。官方文档 - 配置_配置WebStatFilter。
Druid提供了WallFilter,它是基于SQL语义分析来实现防御SQL注入攻击的。官方文档 - 配置 wallfilter。 ```java package com.wzy.springbootweb02.config;
@Configuration public class MyDataSourceConfig { @ConfigurationProperties(“spring.datasource”)//把DataSource与application.yaml配置文件中spring下的datasource下的数据绑定。 @Bean public DataSource dataSource(){ DruidDataSource druidDataSource = new DruidDataSource(); //加入监控 stat 和防火墙 wall 功能功能 druidDataSource.setFilters(“stat,wall”); return druidDataSource; } /**
* 配置 druid的监控页功能
* @return
*/
@Bean
public ServletRegistrationBean statViewServlet(){
StatViewServlet statViewServlet = new StatViewServlet();
ServletRegistrationBean<StatViewServlet> registrationBean =
new ServletRegistrationBean<>(statViewServlet, "/druid/*");
//监控页账号密码:
registrationBean.addInitParameter("loginUsername","wzy");
registrationBean.addInitParameter("loginPassword","941941");
return registrationBean;
}
/**
* WebStatFilter 用于采集web-jdbc关联监控的数据。
*/
@Bean
public FilterRegistrationBean webStatFilter(){
WebStatFilter webStatFilter = new WebStatFilter();
FilterRegistrationBean<WebStatFilter> filterRegistrationBean = new FilterRegistrationBean<>(webStatFilter);
filterRegistrationBean.setUrlPatterns(Arrays.asList("/*"));
filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
return filterRegistrationBean;
}
}
```