| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package com.malk.config;
- import com.malk.Filter.RequestInterceptor;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.context.annotation.Configuration;
- 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.WebMvcConfigurer;
- @Configuration
- public class WebConfiguration implements WebMvcConfigurer {
- // 指定类输出日志到指定文件夹
- private static final Logger logger = LoggerFactory.getLogger("point");
- // 请求拦截
- @Override
- public void addInterceptors(InterceptorRegistry registry) {
- logger.info("拦截器 ▷ 初始化");
- registry.addInterceptor(new RequestInterceptor())
- .addPathPatterns("/**")
- .excludePathPatterns("/assets/**", "/templates/**");
- }
- // 跨域支持: 端口不匹配也会报跨域, 若是单个控制器开放, 可使用 @CrossOrigin 注解
- @Override
- public void addCorsMappings(CorsRegistry registry) {
- logger.info("拦截器 ▷ 开启CORS");
- registry.addMapping("/**") // 添加映射路径
- .allowedOrigins("*") // 放行哪些原始
- .allowCredentials(true) // 是否发送Cookie信息
- .allowedMethods("GET", "POST", "PUT", "DELETE", "PATCH") // 放行哪些原始域(请求方式)
- .allowedHeaders("*") // 放行哪些原始域(头部信息)
- .allowCredentials(true); // 放行证书
- }
- /**
- * 静态资源映射
- * -
- * 默认的静态资源路径为: classpath:/META-INF/resources/, classpath:/resources/,classpath:/static/, classpath:/public [默认路径不会进拦截器]
- * 读取的是target内容, 访问路径 assets: http://localhost:9001/dev/assets/logo/logo-text.png [自定义拦截器添加路径排除: excludePathPatterns]
- * 当在SpringBoot项目内添加网页资源时,在windows服务器,需要C:\Windows\System32下添加tomcat-native-1.2.14-win32-bin.zip内x64下两个文件, 重启项目
- */
- @Override
- public void addResourceHandlers(ResourceHandlerRegistry registry) {
- registry.addResourceHandler("/mjs/**").addResourceLocations("classpath:/static/mjs/");
- registry.addResourceHandler("/assets/**").addResourceLocations("classpath:/assets/");
- registry.addResourceHandler("/templates/**").addResourceLocations("classpath:/templates/");
- }
- }
|