WebConfiguration.java 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package com.malk.config;
  2. import com.malk.Filter.RequestInterceptor;
  3. import org.slf4j.Logger;
  4. import org.slf4j.LoggerFactory;
  5. import org.springframework.context.annotation.Configuration;
  6. import org.springframework.web.servlet.config.annotation.CorsRegistry;
  7. import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
  8. import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
  9. import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  10. @Configuration
  11. public class WebConfiguration implements WebMvcConfigurer {
  12. // 指定类输出日志到指定文件夹
  13. private static final Logger logger = LoggerFactory.getLogger("point");
  14. // 请求拦截
  15. @Override
  16. public void addInterceptors(InterceptorRegistry registry) {
  17. logger.info("拦截器 ▷ 初始化");
  18. registry.addInterceptor(new RequestInterceptor())
  19. .addPathPatterns("/**")
  20. .excludePathPatterns("/assets/**", "/templates/**");
  21. }
  22. // 跨域支持: 端口不匹配也会报跨域, 若是单个控制器开放, 可使用 @CrossOrigin 注解
  23. @Override
  24. public void addCorsMappings(CorsRegistry registry) {
  25. logger.info("拦截器 ▷ 开启CORS");
  26. registry.addMapping("/**") // 添加映射路径
  27. .allowedOrigins("*") // 放行哪些原始
  28. .allowCredentials(true) // 是否发送Cookie信息
  29. .allowedMethods("GET", "POST", "PUT", "DELETE", "PATCH") // 放行哪些原始域(请求方式)
  30. .allowedHeaders("*") // 放行哪些原始域(头部信息)
  31. .allowCredentials(true); // 放行证书
  32. }
  33. /**
  34. * 静态资源映射
  35. * -
  36. * 默认的静态资源路径为: classpath:/META-INF/resources/, classpath:/resources/,classpath:/static/, classpath:/public [默认路径不会进拦截器]
  37. * 读取的是target内容, 访问路径 assets: http://localhost:9001/dev/assets/logo/logo-text.png [自定义拦截器添加路径排除: excludePathPatterns]
  38. * 当在SpringBoot项目内添加网页资源时,在windows服务器,需要C:\Windows\System32下添加tomcat-native-1.2.14-win32-bin.zip内x64下两个文件, 重启项目
  39. */
  40. @Override
  41. public void addResourceHandlers(ResourceHandlerRegistry registry) {
  42. registry.addResourceHandler("/mjs/**").addResourceLocations("classpath:/static/mjs/");
  43. registry.addResourceHandler("/assets/**").addResourceLocations("classpath:/assets/");
  44. registry.addResourceHandler("/templates/**").addResourceLocations("classpath:/templates/");
  45. }
  46. }