解决后端跨域问题
目录
一、什么是跨域问题?
1、跨域问题的定义
2、举例
3、为什么会有跨域问题的存在?
二、解决跨域问题
1、新建配置类
2、编写代码
三、结语
一、什么是跨域问题?
1、跨域问题的定义
跨域问题(Cross-Origin Resource Sharing, CORS)是 Web 开发中常见的安全机制问题,主要发生在浏览器中。当浏览器从一个域名的网页向另一个域名的服务器发起请求时,如果这两个域名不同(协议、域名或端口不同),浏览器会阻止这种请求,这就是跨域问题。
2、举例
跨域是指浏览器从一个 源(Origin) 向另一个 源 发起请求时,如果这两个源不同,就称为跨域。源由以下三部分组成:
- 协议(如
http或https)- 域名(如
example.com)- 端口(如
8080)如果协议、域名或端口中任意一个不同,就属于跨域。例如:
http://example.com和https://example.com(协议不同)http://example.com和http://api.example.com(域名不同)http://example.com和http://example.com:8080(端口不同)
3、为什么会有跨域问题的存在?
跨域问题是浏览器的安全机制,称为 同源策略(Same-Origin Policy)。它的目的是防止恶意网站通过脚本访问其他网站的资源,保护用户数据安全。
二、解决跨域问题
1、新建配置类

2、编写代码
@Configuration//表示这是一个配置类,Spring 容器会在启动时加载该类,并将其中的配置应用到整个应用程序中。
public class WebConfig implements WebMvcConfigurer {@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**")///** 表示所有路径都适用该 CORS 规则。你可以根据需要修改为特定的路径,例如 /api/**。.allowedOrigins("*")//表示允许所有来源(域)访问后端资源。* 是一个通配符,表示允许任何域访问。如果你只想允许特定域访问,可以将 * 替换为具体的域名,例如 "http://example.com"。.allowedMethods("GET","POST","PUT","DELETE")//指定允许的 HTTP 方法。这里配置了 GET、POST、PUT 和 DELETE 方法。如果需要支持其他方法(如 PATCH、OPTIONS),可以添加到列表中。.allowedHeaders("*");//allowedHeaders("*") 表示允许所有请求头。如果你只想允许特定请求头,可以将 * 替换为具体的头信息,例如 "Content-Type", "Authorization"。}
}
三、结语
以上就是跨域问题的介绍,以及其中一种解决方案。
如果对本篇文章感兴趣,请关注本博主~~
相关文章:
解决后端跨域问题
目录 一、什么是跨域问题? 1、跨域问题的定义 2、举例 3、为什么会有跨域问题的存在? 二、解决跨域问题 1、新建配置类 2、编写代码 三、结语 一、什么是跨域问题? 1、跨域问题的定义 跨域问题(Cross-Origin Resource Sh…...
防爆手机科普:与普通手机的区别?在危险作业场景扮演什么角色?
在易燃易爆的工业环境中,如石油化工、矿山开采等领域,一款具备特殊安全性能的通讯工具显得尤为重要。这就是我们今天要深入探讨的主题——防爆手机。那么,什么是防爆手机?它与普通手机有何区别?防爆手机在这些危险作业…...
12.MySQL版题目设计|创建用户并赋权|MySQLWorkbench创建表结构|测试录题功能(mysql)
在数据库中设计可以远程登陆的MySQL用户,并给他赋权 oj_client设计表结构 数据库:oj, 表:oj_questions开始编码 连接访问数据库 创建用户并赋权 mysql -uroot -p进入mysql use mysql;select User, Host from user;create user…...
鸿蒙-状态管理V2其他方法
文章目录 前言makeObservedgetTargetObservedV2的类实例不支持JSON.stringify序列化双向绑定 前言 除了之前介绍的状态管理装饰器,在 V2 中还有其他新增的方法。 makeObserved 开发过程中我们经常会用到从服务器获取到数据(一般是 json 字符串),转化为…...
Linux基础30-C语言篇之冒泡排序【入门级】
数组的典型应用:冒泡排序 向后冒泡 思想: 一次只排好一个数,针对n个数,最差情况需要n-1次就可以排好每次排序将相邻数据两两比较,将较大或者较小的数据向后交换,等所有数据比较完成,较大或者较…...
FFmpeg+vvenc实现H.266的视频编解码教程
Linux系统:FFmpegvvenc实现H.266的视频编解码教程(视频压缩) 关键网址 ffmpeg目前支持libvvenc,因此配置好libvvenc只会在一些make、sudo make install命令时遇到问题,例如默认安装或配置路径指定错误、ffmpeg版本、v…...
0x01 html和css
css 对于三种css使用方式: 第一种:行内样式 <span style"color: grey;">2024年05月15日 20:07</span>第二种:内部样式 <!DOCTYPE html> <html lang"en"> <head>...<style>span{…...
【大模型】量化、剪枝、蒸馏
大模型的量化、剪枝和蒸馏是三种常用的模型优化技术,旨在减少模型的复杂性,降低计算资源消耗,并加速推理过程。下面是每种技术的详细介绍: 1. 量化(Quantization) 量化是将浮点数表示的模型参数ÿ…...
Imagination GPU 3D Graphics Wrokload
本次分享Imagination GPU 的3D 图像处理负载流程。 总的分为两个阶段 第一阶段:Geometry Processing Phase 1.Input Assembly 输入装配。读取原始图元 2.Vertex Shading 顶点着色。对单个顶点输入运行shader 3.Geometry Shading 几何着色。对所有原始数据&…...
excel单、双字节字符转换函数(中英文输入法符号转换)
在Excel中通常使用函数WIDECHAR和ASC来实现单、双字节字符之间的转换。其中 WIDECHAR函数将所有的字符转换为双字节,ASC函数将所有的字符转换为单字节 首先来解释一下单双字节的含义。单字节一般对应英文输入法的输入,如英文字母,英文输入法…...
湘潭大学计算机复试详细攻略(调剂)
一,写在前面的话 ① 首先,能完成考试初试来到这里的都是勇士。不管结果如何,不管成绩如何。我都在这里真心的祝福你以后一帆风顺。 ② 目前学历贬值严重,如果是成绩不理想的话,我建议能工作就去工作,工作不…...
如何看待 Kaiming He 最新提出的 Fractal Generative Models ?
何恺明团队提出的分形生成模型(Fractal Generative Models) 引发了广泛关注,其核心思想是通过递归调用生成模型模块构建自相似结构,类似数学中的分形概念(如雪花结构),从而高效生成高分辨率数据(如图像)。 Fractal Generative Models即分形生成模型,是一种新型的生成…...
AOP进阶-04.切入点表达式-@annotation
一.annotation注解 我们在最后一个切入点表达式中要匹配多个无规则的方法,这样的写法有些冗余了。而annotation注解就是来解决这一问题的。 annotation注解使用特定的注解来匹配方法。我们首先自定义一个注解,该注解就相当于一个标签,目标对…...
C高级(shell)
思维导图...
通过指针传递给函数
在 C 语言中,除了结构体,还有多种数据类型可以通过指针传递给函数,以下为你详细介绍: 1. 基本数据类型 整数类型 像 int、short、long 等整数类型都能通过指针传递给函数。这种方式常用于函数需要修改调用者中整数变量的值。 收…...
Ubuntu20.04之VNC的安装使用与常见问题
Ubuntu20.04之VNC的安装与使用 安装图形桌面选择安装gnome桌面选择安装xface桌面 VNC-Server安装配置开机自启 VNC Clientroot用户无法登入问题临时方案永久方案 安装图形桌面 Ubuntu20.04主流的图形桌面有gnome和xface两种,两种桌面的安装方式我都会写,…...
15.5 基于 RetrievalQA 的销售话术增强系统实战:构建智能销售大脑
基于 RetrievalQA 的销售话术增强系统实战:构建智能销售大脑 关键词:RetrievalQA 应用实战、销售知识增强、语义检索优化、上下文感知问答、多源知识融合 1. RetrievalQA 技术原理与销售场景适配 1.1 RetrievalQA 核心工作机制 #mermaid-svg-VL2yIusgl4oprXUr {font-family…...
Vue 刷新当前组件的5种方式
一,使用 location.reload() 这是最直接的方法,它会像用户点击浏览器的刷新按钮一样重载页面。 location.reload();二,使用路由刷新当前页面 如果当前组件是通过路由加载的,可以通过路由的 push 方法重新加载当前路由。 this.$…...
Python 科学计算
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…...
从同步到异步:Vue 3 的异步更新策略与 `tick` 机制
1. 引言:Vue 3 的异步更新,我们真的了解吗? 在日常开发中,我们都知道 Vue 3 是异步更新的。大多数时候,我们只是简单地使用 ref、reactive、computed 等 API,享受着 Vue 的响应式系统带来的便利。然而&…...
2024中国信通院“集智”蓝皮书合集(附下载)
【目 录】 1. 数字政府一体化建设蓝皮书(2024年) 2. 数字乡村发展实践蓝皮书(2023年) 3. 中国工业互联网发展成效评估报告(2024年) 4. 云计算蓝皮书(2024年) 5. 具身智能发展报告…...
muduo源码阅读:linux timefd定时器
⭐timerfd timerfd 是Linux一个定时器接口,它基于文件描述符工作,并通过该文件描述符的可读事件进行超时通知。可以方便地与select、poll和epoll等I/O多路复用机制集成,从而在没有处理事件时阻塞程序执行,实现高效的零轮询编程模…...
nvm 1.2.2 报错解决方法 The system cannot find the file specified.
安装了最新版本nvn1.2.2后,安装老版本node时报错(安装新版本没问题),报错内容如下: error installing 14.16.0: open C:\Users\admin\AppData\Local\Temp\nvm-npm-430098699\npm-v6.14.11.zip: The system cannot fin…...
学习Python的基本入门知识
学习Python的入门知识可以从以下几个方面开始: ### 1. **Python简介** - **Python** 是一种高级、解释型、通用的编程语言,由Guido van Rossum于1989年发布。 - 它以简洁、易读的语法著称,适合初学者。 - 广泛应用于Web开发、数据分…...
web安全——分析应用程序
文章目录 一、确定用户输入入口点二、确定服务端技术三、解析受攻击面 一、确定用户输入入口点 在检查枚举应用程序功能时生成的HTTP请求的过程中,用户输入入口点包括: URL文件路径 通常,在查询字符?之前的URL部分并不视为用户输入入口&am…...
OpenEuler学习笔记(三十五):搭建代码托管服务器
以下是主流的代码托管软件分类及推荐,涵盖自托管和云端方案,您可根据团队规模、功能需求及资源情况选择: 一、自托管代码托管平台(可私有部署) 1. GitLab 简介: 功能全面的 DevOps 平台,支持代码托管、C…...
平台设备驱动之gpio子系统(写驱动实现在/sys/...目录下用echo命令点灯)
1、 关键函数(include/linux 及 driver目录下) module_platform_driver(leds_drv); //平台设备驱动入口//获取匹配成功后设备树节点中的 property of_get_named_gpio_flags(node, "led_gpio", 0, &flags); //在/sys/目录下创建文…...
PS渐变工具
渐变工具:(颜色条 起点到终点 为 前景色到背景色) 渐变shift:垂直、水平、45度 渐变工具–》仿色:让渐变变得细腻。仿色值高,过渡柔和,仿色值低,过渡粗糙 渐变工具–》渐变编辑器&am…...
JavaScript将:;隔开的字符串转换为json格式。使用正则表达式匹配键值对,并构建对象。多用于解析cssText为style Object对象
// 使用正则表达式匹配键值对,并构建对象 let string2Json(s)>{const r {};s.replace(/;/g, ;).replace(/\;/g, \n).replace(/:/g, :).replace(/\n/g, \n)//合并多个换行符.split(\n).forEach(item > {const [k, v] item.split(:);(k…...
2025年追觅科技社招校招入职测评北森题库商业推理测试内容与技巧
在追觅科技的招聘流程中,无论是校园招聘还是社会招聘,应聘者都需要通过北森测评题库的商业推理部分。这部分的测评旨在评估应聘者的商业推理能力,是评估考生综合能力的重要工具。考试时间为40分钟,需要完成28题,题型以…...
