WebAppConfiguration.java 3.2 KB

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