当前位置:网站首页 > R语言数据分析 > 正文

springboot跨域问题解决方案(spring boot 解决跨域问题)



一、同源策略
同源,就是咱们域名、端口号、ip、采用的协议都相同,那么我们就是同源的
反之就是不同源的!!!
出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。
所以,用最简单的话来说,就是前端可以发请求给服务器,服务器也可以进行响应,只是因为浏览器会对请求头进行判断,所以要么前端设置请求头,要么后端设置请求头



二、跨域问题
跨域报错如下:

Access to XMLHttpRequest at ' http://localhost:8080/t1' from origin ' http://localhost:63342' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
test1.html?_ijt=aekdfma33ut4n31cgsohdrjt89:17 {readyState: 0, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeType: ƒ, …}
jquery-1.9.1.min.js:5 GET  http://localhost:8080/t1 net::ERR_FAILED 200

三、spring boot解决跨域问题
对于 CORS的跨域请求,主要有以下几种方式可供选择

返回新的CorsFilter
重写 WebMvcConfigurer
使用注解 @CrossOrigin
手动设置响应头 (HttpServletResponse)
自定web filter 实现跨域




注意:

CorFilter / WebMvConfigurer / @CrossOrigin 需要 SpringMVC 4.2以上版本才支持,对应springBoot 1.3版本以上
上面前两种方式属于全局 CORS 配置,后两种属于局部 CORS配置。如果使用了局部跨域是会覆盖全局跨域的规则,所以可以通过 @CrossOrigin 注解来进行细粒度更高的跨域资源控制。
其实无论哪种方案,最终目的都是修改响应头,向响应头中添加浏览器所要求的数据,进而实现跨域 

1、使用CorsFilter

 
  

2、实现WebMvcConfigurer里面的addCorsMappings方法

 
  

3、@CrossOrigin局部跨域通过

 
  

4、添加响应头解决跨域

 
  

5、使用自定义filter实现跨域

 
  

到此这篇springboot跨域问题解决方案(spring boot 解决跨域问题)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • ueditor编辑器(ueditor编辑器上传漏洞)2025-10-20 19:27:09
  • swagger啥意思(swaggerui是什么)2025-10-20 19:27:09
  • 读取pcap文件中的csi(读取parquet文件)2025-10-20 19:27:09
  • 批处理 ren(批处理ren命令)2025-10-20 19:27:09
  • ldr指令全称(ldrh指令)2025-10-20 19:27:09
  • libtorch源码(libtask源码分析)2025-10-20 19:27:09
  • redhat修改root密码命令(redhat 修改root密码)2025-10-20 19:27:09
  • hprof文件怎么打开linux(linux hprof)2025-10-20 19:27:09
  • oracle查看锁表语句(oracle查看锁住的表)2025-10-20 19:27:09
  • swagger3使用(swagger配置)2025-10-20 19:27:09
  • 全屏图片