- 什么是跨域问题
- 跨域问题发生的条件
- 解决跨域问题
第一步我们先了解什么是跨域问题:
跨域问题就是两台服务器之间不能够进行通信
第二步跨域问题发生的条件:
当两台服务器进行通信的时候,一台服务器不信任另外一台服务。
举了栗子:
当我们开始使用 nginx的时候,端口是8800,而nginx监控tomcat的端口是9527的时候(在nginx.conf中配置)
nginx发送信息给tomcat的时候,Tomcat又有个保护机制会拒收nginx发送的信息
第三步:编写一个Config类解决跨域问题
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebConfig implements WebMvcConfigurer {
// 解决跨域问题
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowCredentials(true)
.allowedHeaders(CorsConfiguration.ALL)
.allowedMethods("GET", "POST", "DELETE", "PUT", "PATCH")
.allowedOrigins("*");
}
}
简单说明代码:
@Configuration:说明这是一个配置类,并且交给spring容器管理
WebMvcConfigurer:必须实现这个WebMvcConfigurer这个接口
addCorsMappings:重写WebMvcConfigurer中的addCorsMappings这个方法
都看到这里啦,点个赞呗,你的赞对我真的很赞