package com.smtaiserver.smtaiserver.web;
|
|
import java.util.Arrays;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
import javax.servlet.Filter;
|
|
import org.springframework.boot.web.servlet.DelegatingFilterProxyRegistrationBean;
|
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
import org.springframework.boot.web.servlet.ServletRegistrationBean;
|
import org.springframework.cache.annotation.EnableCaching;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.ImportResource;
|
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
|
|
import com.alibaba.druid.support.http.StatViewServlet;
|
import com.alibaba.druid.support.http.WebStatFilter;
|
|
//import springfox.documentation.swagger2.annotations.EnableSwagger2;
|
|
@Configuration
|
@EnableCaching
|
//@EnableSwagger2
|
@ImportResource(locations= {"classpath:spring-config.xml"})
|
@SuppressWarnings({"rawtypes","unchecked"})
|
public class SMTAIServerWebConfig extends WebMvcConfigurationSupport
|
{
|
@Bean("proxyFilter")
|
public Filter filter ()
|
{
|
return new SMTAIServerWebFilter();
|
}
|
|
@Bean
|
public DelegatingFilterProxyRegistrationBean delegatingFilterProxyRegistrationBean()
|
{
|
DelegatingFilterProxyRegistrationBean bean = new DelegatingFilterProxyRegistrationBean("proxyFilter");
|
bean.addUrlPatterns("/*");
|
return bean;
|
}
|
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
// druid 配置信息
|
|
@Bean
|
public ServletRegistrationBean statViewServlet(){
|
ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
|
// 这些参数可以在 com.alibaba.druid.support.http.StatViewServlet 的父类 com.alibaba.druid.support.http.ResourceServlet 中找到
|
Map<String,String> initParams = new HashMap<>();
|
|
initParams.put("loginUsername","admin");
|
initParams.put("loginPassword","Huishui@2016");
|
initParams.put("allow",""); //默认就是允许所有访问
|
|
//deny:Druid 后台拒绝谁访问,表示禁止此ip访问
|
// initParams.put("deny","192.168.10.132");
|
bean.setInitParameters(initParams);
|
return bean;
|
}
|
|
|
|
//2、配置一个web监控的filter
|
@Bean
|
public FilterRegistrationBean webStatFilter(){
|
FilterRegistrationBean bean = new FilterRegistrationBean();
|
bean.setFilter(new WebStatFilter());
|
|
Map<String,String> initParams = new HashMap<>();
|
initParams.put("exclusions","*.js,*.css,/druid/*");
|
|
bean.setInitParameters(initParams);
|
|
bean.setUrlPatterns(Arrays.asList("/*"));
|
|
return bean;
|
}
|
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
// swagger 配置信息
|
/**
|
* 解决swagger-ui.html 404无法访问的问题
|
*/
|
@Override
|
protected void addResourceHandlers(ResourceHandlerRegistry registry)
|
{
|
// 解决静态资源无法访问
|
registry.addResourceHandler("/**")
|
.addResourceLocations("classpath:/static/");
|
|
if("true".equals(System.getProperty("swagger_ui", "true")))
|
{
|
// 解决swagger无法访问
|
registry.addResourceHandler("/swagger-ui.html")
|
.addResourceLocations("classpath:/META-INF/resources/");
|
// 解决swagger的js文件无法访问
|
registry.addResourceHandler("/webjars/**")
|
.addResourceLocations("classpath:/META-INF/resources/webjars/");
|
}
|
}
|
|
}
|