无需多言,直接上代码:
pom.xml添加依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.4</version>
</dependency>
@Override
public final void configPlugin(Plugins me) {
ModuleMapping mapping = ModuleMapping.getInstance();
// 配置数据库连接池插件,数据监控
DruidPlugin druidPlugin = getDruidPlugin();
druidPlugin.addFilter(new StatFilter());
WallFilter wall = new WallFilter();
wall.setDbType("mysql");
druidPlugin.addFilter(wall);
me.add(druidPlugin);
// 配置ActiveRecord插件
ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);
me.add(arp);
this.injectPlugin(me);
this.configActionInterceptor(InterceptorConfig.CONFIG);
}
@Override
public void configHandler(Handlers me) {
me.add(new Handler() {
@Override
public void handle(String target, HttpServletRequest request,
HttpServletResponse response, boolean[] isHandled) {
response.setContentType("text/html;charset=UTF-8");
next.handle(target, request, response, isHandled);
}
});
me.add(new SkipSerlvetHandler());
DruidStatViewHandler dsvh = new DruidStatViewHandler("/druid/monitor",new IDruidStatViewAuth(){
public boolean isPermitted(HttpServletRequest request) {
//配置权限
HttpSession hs = request.getSession(false);
if(hs==null) {
return false;
}
Record admin=(Record)hs.getAttribute(ProjectConstants.ADMIN_RECORD);
if(admin==null||admin.toString().equals("0")) {
return false;
}
//此处权限自查,由实际情况而定
return true;
}
});
me.add(dsvh);
}
启动项目,看效果:
有查看权限:
无查看权限: