| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- package com.uas.kanban;
- import java.nio.charset.Charset;
- import java.util.Arrays;
- import java.util.List;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.web.servlet.FilterRegistrationBean;
- import org.springframework.boot.web.servlet.ServletRegistrationBean;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.ComponentScan;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.http.MediaType;
- import org.springframework.http.converter.HttpMessageConverter;
- import org.springframework.http.converter.StringHttpMessageConverter;
- import org.springframework.web.servlet.config.annotation.CorsRegistry;
- import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
- import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
- import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
- import org.springframework.web.servlet.config.annotation.ViewResolverRegistry;
- import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
- import org.springframework.web.servlet.view.InternalResourceViewResolver;
- import com.alibaba.druid.support.http.StatViewServlet;
- import com.alibaba.druid.support.http.WebStatFilter;
- import com.alibaba.fastjson.serializer.SerializerFeature;
- import com.alibaba.fastjson.support.config.FastJsonConfig;
- import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
- import com.uas.kanban.filter.SecurityInterceptor;
- /**
- * Web相关配置
- *
- * @author sunyj
- * @since 2017年2月17日 下午5:45:38
- */
- @Configuration
- @ComponentScan(basePackages = "com.uas.kanban.controller")
- public class WebAppConfiguration extends WebMvcConfigurerAdapter {
- @Override
- public void addResourceHandlers(ResourceHandlerRegistry registry) {
- // Spring boot默认资源路径在src/main/resources下,而非/src/main/webapp
- // 使用/src/main/webapp下资源均需在此添加
- registry.addResourceHandler("/static/**").addResourceLocations("/resources/");
- registry.addResourceHandler("/WEB-INF/**").addResourceLocations("/WEB-INF/");
- registry.addResourceHandler("/app/**").addResourceLocations("/app/");
- super.addResourceHandlers(registry);
- }
- @Override
- public void configureViewResolvers(ViewResolverRegistry registry) {
- InternalResourceViewResolver viewResolver = new InternalResourceViewResolver("/WEB-INF/views/", ".html");
- viewResolver.setContentType("text/html;charset=UTF-8");
- registry.viewResolver(viewResolver);
- super.configureViewResolvers(registry);
- }
- @Override
- public void addViewControllers(ViewControllerRegistry registry) {
- registry.addViewController("/").setViewName("desktop");
- registry.addViewController("/index").setViewName("desktop");
- registry.addViewController("/desktop").setViewName("desktop");
- registry.addViewController("/board").setViewName("board");
- registry.addViewController("/boardshow").setViewName("boardshow");
- registry.addViewController("/login").setViewName("login");
- registry.addViewController("/console").setViewName("console");
- registry.addViewController("/fileUpload").setViewName("fileUpload");
- super.addViewControllers(registry);
- }
- @Override
- public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
- FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
- fastJsonHttpMessageConverter.setSupportedMediaTypes(Arrays.asList(MediaType.APPLICATION_JSON_UTF8));
- FastJsonConfig fastJsonConfig = new FastJsonConfig();
- fastJsonConfig.setSerializerFeatures(SerializerFeature.DisableCircularReferenceDetect);
- fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
- converters.add(fastJsonHttpMessageConverter);
- StringHttpMessageConverter stringHttpMessageConverter = new StringHttpMessageConverter(
- Charset.forName("UTF-8"));
- stringHttpMessageConverter.setSupportedMediaTypes(Arrays.asList(MediaType.TEXT_HTML));
- converters.add(stringHttpMessageConverter);
- super.configureMessageConverters(converters);
- }
- /*
- * 允许跨域访问
- */
- @Override
- public void addCorsMappings(CorsRegistry registry) {
- registry.addMapping("/**").allowedOrigins("*");
- }
- @Bean
- public ServletRegistrationBean servletRegistrationBean() {
- return new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
- }
- @Bean
- public FilterRegistrationBean filterRegistrationBean() {
- FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
- filterRegistrationBean.setFilter(new WebStatFilter());
- filterRegistrationBean.addUrlPatterns("/*");
- filterRegistrationBean.addInitParameter("exclusions",
- "*.js,*.gif,*.jpg,*.png,*.bmp,*.css,*.ico,*.html,/druid/*");
- return filterRegistrationBean;
- }
- @Autowired
- private SecurityInterceptor securityInterceptor;
- @Override
- public void addInterceptors(InterceptorRegistry registry) {
- registry.addInterceptor(securityInterceptor).addPathPatterns("/*").excludePathPatterns("/WEB-INF/*","/login","/error");
- }
- }
|