首先我们要先了解一个概念--同源策略。
同源策略,它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript 的浏览器都会使用这个策略。所谓同源是指,域名,协议,端口相同。目的是出于安全考虑,防止js脚本随意调用其他网站的资源。
所谓同源,就是当我们实现前后端分离的时候:
我们做注册时当前网站源为:http://localhost:8080
我们要访问的注册功能路径:http://localhost:9000
当违反同源策略时,请求可以发送到控制器,但是客户端不能接收到控制器返回的响应,因为接收不到响应,所以保护了客户端安全
要想在非同源的情况下实现正常的请求和响应,就需要使用"跨域"
而跨域的设置可以是多方的
1.前端代码可以实现跨域
2.后端代码也可以实现跨域
我们学习使用后端代码实现跨域
java方面实现跨域也有很多办法
- 过滤器
- 拦截器
- SpringMvc配置
- 控制器跨域注解
- 等
现在通过SpringMvc配置实现跨域设置
//使用SpringMvc框架功能配置跨域 @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("*") .allowedMethods("*") .allowedHeaders("*"); } }