场景:使用druid自带监控功能,监控sql等
1.使用springboot的Spring Initializr创建web项目,确保springboot配置Druid数据源能正常启动并访问数据库
具体可以参考:springboot集成jdbc集成数据源
2.在spring web项目中只要在web.xml中配置一个filter和servlet如下:
<!--连接池启用Web监控统计功能start -->
<filter>
<filter-name>DruidWebStatFilter</filter-name>
<filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
<init-param>
<param-name>exclusions</param-name>
<param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>DruidWebStatFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>DruidStatView</servlet-name>
<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DruidStatView</servlet-name>
<url-pattern>/druid/*</url-pattern>
</servlet-mapping>
<!--连接池启用Web监控统计功能end -->
3.在springboot模式下,配置如上配置文件中实现的在配置类中实现即可。
<1>.配置过滤器,即把WebStatFilter注册到FilterRegistrationBean注册器
/**2、配置一个web监控的filter**/
@Bean
public FilterRegistrationBean webStatFilter(){
FilterRegistrationBean beanFilter = new FilterRegistrationBean();
beanFilter.setFilter(new WebStatFilter());
Map<String,String> initParams = new HashMap<>();
initParams.put("exclusions","*.js,*.css,/druid/*");
beanFilter.setInitParameters(initParams);
beanFilter.setUrlPatterns(Arrays.asList("/*"));
return beanFilter;
}
<2>.配置servlet,即把StatViewServlet注册到ServletRegistrationBean注册器
/**1、配置一个管理后台的Servlet*/
@Bean
public ServletRegistrationBean setStatViewServlet(){
ServletRegistrationBean beanServlet = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
Map<String,String> initParams = new HashMap<>();
initParams.put("loginUsername","test");
initParams.put("loginPassword","654321");
initParams.put("allow",""); /**默认就是允许所有访问*/
beanServlet.setInitParameters(initParams);
return beanServlet;
}
4.访问测试 http:127.0.0.1:8082/druid/index.html 登入页面输入 用户名test 口令654321
5.监控页面显示,发一个请求,查了一条sql,如图监控到
以上,TKS.