【springboot】解决跨域问题
1 什么是跨域
当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域
2 为什么会出现跨域
出于浏览器的同源策略限制。
同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。
同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)。
3 springboot如何设置解决跨域:
解决跨域java代码
package com.aaa.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @date :Created in 2022/10/13 9:55
* @description:解决跨域问题
*/
@Configuration
public class CrossConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
//为指定的路径模式启用跨源请求处理。
registry.addMapping("/**")
//允许来自浏览器的请求
.allowedOriginPatterns("*")
//需要跨域的方法
.allowedMethods("GET","POST","PUT", "DELETE","OPTIONS")
//浏览器是否应该发送凭据
.allowCredentials(true)
//配置飞行前请求的响应时间(以秒为单位)
.maxAge(3600)
//设置飞行前请求可以列出的头部列表为允许的
.allowedHeaders("*");
}
}