diff --git a/src/main/java/net/mingsoft/config/DruidConfig.java b/src/main/java/net/mingsoft/config/DruidConfig.java new file mode 100644 index 00000000..990462fa --- /dev/null +++ b/src/main/java/net/mingsoft/config/DruidConfig.java @@ -0,0 +1,65 @@ +package net.mingsoft.config; + +import com.alibaba.druid.support.http.WebStatFilter; +import com.alibaba.druid.support.spring.stat.DruidStatInterceptor; +import org.springframework.aop.Advisor; +import org.springframework.aop.support.DefaultPointcutAdvisor; +import org.springframework.aop.support.JdkRegexpMethodPointcut; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * @author by 铭飞开源团队 + * @Description TODO + * @date 2020/1/10 11:21 + */ +@Configuration +@ConditionalOnProperty(prefix="spring",name = "datasource.druid.stat-view-servlet.enabled", havingValue = "true") +public class DruidConfig { + /** + * druid监控 配置URI拦截策略 + */ + @Bean + public FilterRegistrationBean druidStatFilter() { + FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter()); + // 添加过滤规则. + filterRegistrationBean.addUrlPatterns("/*"); + // 添加不需要忽略的格式信息. + filterRegistrationBean.addInitParameter("exclusions", + "/static/*,*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid,/druid/*"); + // 用于session监控页面的用户名显示 需要登录后主动将username注入到session里 + filterRegistrationBean.addInitParameter("principalSessionName", "username"); + return filterRegistrationBean; + } + + /** + * druid数据库连接池监控 + */ + @Bean + public DruidStatInterceptor druidStatInterceptor() { + return new DruidStatInterceptor(); + } + + @Bean + public JdkRegexpMethodPointcut druidStatPointcut() { + JdkRegexpMethodPointcut druidStatPointcut = new JdkRegexpMethodPointcut(); + String patterns = "net.mingsoft.*.biz.*"; + // 可以set多个 + druidStatPointcut.setPatterns(patterns); + return druidStatPointcut; + } + + /** + * druid 为druidStatPointcut添加拦截 + * + * @return + */ + @Bean + public Advisor druidStatAdvisor() { + return new DefaultPointcutAdvisor(druidStatPointcut(), druidStatInterceptor()); + } + + +} diff --git a/src/main/java/net/mingsoft/config/WebConfig.java b/src/main/java/net/mingsoft/config/WebConfig.java index 572c3963..1a0d0ef0 100644 --- a/src/main/java/net/mingsoft/config/WebConfig.java +++ b/src/main/java/net/mingsoft/config/WebConfig.java @@ -49,11 +49,6 @@ public class WebConfig implements WebMvcConfigurer { return new ActionInterceptor(); } - @Override - public void configurePathMatch(PathMatchConfigurer configurer) { - // 启用.do后缀 - configurer.setUseRegisteredSuffixPatternMatch(true); - } /** * 增加对rest api鉴权的spring mvc拦截器 @@ -82,48 +77,7 @@ public class WebConfig implements WebMvcConfigurer { ); } } - /** - * druidServlet注册 - */ - @Bean - public ServletRegistrationBean druidServletRegistration() { - ServletRegistrationBean registration = new ServletRegistrationBean(new StatViewServlet()); - registration.addUrlMappings("/druid/*"); - return registration; - } - /** - * druid监控 配置URI拦截策略 - */ - @Bean - public FilterRegistrationBean druidStatFilter() { - FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter()); - // 添加过滤规则. - filterRegistrationBean.addUrlPatterns("/*"); - // 添加不需要忽略的格式信息. - filterRegistrationBean.addInitParameter("exclusions", - "/static/*,*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid,/druid/*"); - // 用于session监控页面的用户名显示 需要登录后主动将username注入到session里 - filterRegistrationBean.addInitParameter("principalSessionName", "username"); - return filterRegistrationBean; - } - - /** - * druid数据库连接池监控 - */ - @Bean - public DruidStatInterceptor druidStatInterceptor() { - return new DruidStatInterceptor(); - } - - @Bean - public JdkRegexpMethodPointcut druidStatPointcut() { - JdkRegexpMethodPointcut druidStatPointcut = new JdkRegexpMethodPointcut(); - String patterns = "net.mingsoft.*.biz.*"; - // 可以set多个 - druidStatPointcut.setPatterns(patterns); - return druidStatPointcut; - } /** * druid数据库连接池监控 @@ -135,28 +89,18 @@ public class WebConfig implements WebMvcConfigurer { beanTypeAutoProxyCreator.setInterceptorNames("druidStatInterceptor"); return beanTypeAutoProxyCreator; } - - /** - * druid 为druidStatPointcut添加拦截 - * - * @return - */ - @Bean - public Advisor druidStatAdvisor() { - return new DefaultPointcutAdvisor(druidStatPointcut(), druidStatInterceptor()); - } - - @Bean - public FilterRegistrationBean xssFilterRegistration() { - XSSEscapeFilter xssFilter = new XSSEscapeFilter(); - FilterRegistrationBean registration = new FilterRegistrationBean(xssFilter); - xssFilter.excludes.add(".*file/upload.do"); - xssFilter.excludes.add(".*/jsp/editor.do"); - xssFilter.excludes.add(".*/?(jpg|js|css|gif|png|ico)$"); - xssFilter.excludes.add("/"); - registration.addUrlPatterns("/*"); - return registration; - } +// XSS过滤器 +// @Bean +// public FilterRegistrationBean xssFilterRegistration() { +// XSSEscapeFilter xssFilter = new XSSEscapeFilter(); +// FilterRegistrationBean registration = new FilterRegistrationBean(xssFilter); +// xssFilter.excludes.add(".*file/upload.do"); +// xssFilter.excludes.add(".*/jsp/editor.do"); +// xssFilter.excludes.add(".*/?(jpg|js|css|gif|png|ico)$"); +// xssFilter.excludes.add("/"); +// registration.addUrlPatterns("/*"); +// return registration; +// } /** * RequestContextListener注册 diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 6307caca..5e9db851 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -1,6 +1,6 @@ spring: datasource: - url: jdbc:mysql://localhost:3306/db-mcms-open?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true + url: jdbc:mysql://localhost:3306/db-mcms-open?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai username: root password: root filters: wall,mergeStat diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index a44a9a9a..2ee84dfe 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -33,6 +33,10 @@ ms: spring: + datasource: + druid: + stat-view-servlet: + enabled: true #启用druid监控 profiles: active: dev mvc: diff --git a/src/main/webapp/static/plugins/ms/1.0.0/ms.util.js b/src/main/webapp/static/plugins/ms/1.0.0/ms.util.js index 90fbed94..8edfbf23 100644 --- a/src/main/webapp/static/plugins/ms/1.0.0/ms.util.js +++ b/src/main/webapp/static/plugins/ms/1.0.0/ms.util.js @@ -225,4 +225,5 @@ window.ms = {}; } window.ms.util = util; + window.ms.debug = false }()); \ No newline at end of file