WebAppConfiguration.java 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package com.uas.kanban;
  2. import java.nio.charset.Charset;
  3. import java.util.Arrays;
  4. import java.util.List;
  5. import org.springframework.context.annotation.ComponentScan;
  6. import org.springframework.context.annotation.Configuration;
  7. import org.springframework.http.MediaType;
  8. import org.springframework.http.converter.HttpMessageConverter;
  9. import org.springframework.http.converter.StringHttpMessageConverter;
  10. import org.springframework.web.servlet.config.annotation.CorsRegistry;
  11. import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
  12. import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
  13. import org.springframework.web.servlet.config.annotation.ViewResolverRegistry;
  14. import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
  15. import org.springframework.web.servlet.view.InternalResourceViewResolver;
  16. import com.alibaba.fastjson.serializer.SerializerFeature;
  17. import com.alibaba.fastjson.support.config.FastJsonConfig;
  18. import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
  19. /**
  20. * Web相关配置
  21. *
  22. * @author sunyj
  23. * @since 2017年2月17日 下午5:45:38
  24. */
  25. @Configuration
  26. @ComponentScan(basePackages = "com.uas.kanban.controller")
  27. public class WebAppConfiguration extends WebMvcConfigurerAdapter {
  28. @Override
  29. public void addResourceHandlers(ResourceHandlerRegistry registry) {
  30. // Spring boot默认资源路径在src/main/resources下,而非/src/main/webapp
  31. // 使用/src/main/webapp下资源均需在此添加
  32. registry.addResourceHandler("/static/**").addResourceLocations("/resources/");
  33. registry.addResourceHandler("/WEB-INF/**").addResourceLocations("/WEB-INF/");
  34. super.addResourceHandlers(registry);
  35. }
  36. @Override
  37. public void configureViewResolvers(ViewResolverRegistry registry) {
  38. InternalResourceViewResolver viewResolver = new InternalResourceViewResolver("/WEB-INF/views/", ".html");
  39. viewResolver.setContentType("text/html;charset=UTF-8");
  40. registry.viewResolver(viewResolver);
  41. super.configureViewResolvers(registry);
  42. }
  43. @Override
  44. public void addViewControllers(ViewControllerRegistry registry) {
  45. registry.addViewController("/").setViewName("index");
  46. registry.addViewController("/index").setViewName("index");
  47. registry.addViewController("/console").setViewName("console");
  48. registry.addViewController("/fileUpload").setViewName("fileUpload");
  49. super.addViewControllers(registry);
  50. }
  51. @Override
  52. public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
  53. FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
  54. fastJsonHttpMessageConverter.setSupportedMediaTypes(Arrays.asList(MediaType.APPLICATION_JSON_UTF8));
  55. FastJsonConfig fastJsonConfig = new FastJsonConfig();
  56. fastJsonConfig.setSerializerFeatures(SerializerFeature.DisableCircularReferenceDetect);
  57. fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
  58. converters.add(fastJsonHttpMessageConverter);
  59. StringHttpMessageConverter stringHttpMessageConverter = new StringHttpMessageConverter(
  60. Charset.forName("UTF-8"));
  61. stringHttpMessageConverter.setSupportedMediaTypes(Arrays.asList(MediaType.TEXT_HTML));
  62. converters.add(stringHttpMessageConverter);
  63. super.configureMessageConverters(converters);
  64. }
  65. /*
  66. * 允许跨域访问
  67. */
  68. @Override
  69. public void addCorsMappings(CorsRegistry registry) {
  70. registry.addMapping("/**").allowedOrigins("*");
  71. }
  72. }