SpringBoot解决跨域的三种解决方案

作者 : admin 本文共674个字,预计阅读时间需要2分钟 发布时间: 2024-06-10 共3人阅读

目录

一、什么是跨域

二、示例代码

三、解决方案

3.1、添加@CrossOrigin注解

3.2、配置WebMvcConfigurer

3.3、配置Filter

3.4、补充


一、什么是跨域

跨域是指在 Web 开发中,通过不同域名的网站之间进行数据交互或资源共享时,由于浏览器的同源策略限制导致的访问限制问题。同源策略要求网页中所有资源的请求都要与页面来源相同,包括协议、域名、端口号必须完全一致。如果请求的资源与页面来源不一致,就会触发跨域问题。

举个例子:

当一个网页请求来自不同源的服务器资源时,浏览器会阻止跨域请求,下面是一个具体的案例: 假设有一个前端网页,部署在 http://www.example.com,而后端服务器部署在 http://api.example.com。 如果前端网页通过AJAX请求后端服务器的数据,由于两者源不同(域名不同),浏览器会拦截该请求,浏览器控制台会出现一个类似下面的报错:

Access to XMLHttpRequest at ‘http://api.example.com/getData’ from origin ‘http://www.example.com’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

这是因为缺少CORS头,导致浏览器无法获取到后端服务器的响应数据,要解决这个跨域问题,后端服务器需要设置CORS头,允许 http://www.example.com 来访问资源,

例如&#

本站无任何商业行为
个人在线分享 » SpringBoot解决跨域的三种解决方案
E-->