@CrossOrigin注解解决跨域问题
文章目录
- 一、什么是跨域
- 二、@CrossOrigin注解是干什么用的
- 三、用法
一、什么是跨域
跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。
所谓同源是指,域名,协议,端口均相同,举个栗子:
- http://www.123.com/index.html 调用 http://www.123.com/server.PHP (非跨域)
- http://123.com/index.html 调用http://456.com/server.php (主域名不同:123/456,跨域)
- http://www.abc.123.com/index.html 调用 http://www.def.123.com/server.php(子域名不同:abc/def,跨域)
- http://www.123.com:8080/index.html调用http://www.123.com:8081/server.php(端口不同:8080/8081,跨域)
- http://www.123.com/index.html 调用 https://www.123.com/server.php(协议不同:http/https,跨域)
二、@CrossOrigin注解是干什么用的
@CrossOrigin是一个Java注解,用于指示浏览器允许跨域请求资源。在Web应用程序中,如果JavaScript代码试图从一个域名获取来自不同域名的资源,这将会触发浏览器的同源策略,从而导致浏览器阻止跨域请求。使用@CrossOrigin注解可以允许浏览器绕过同源策略,从而允许跨域请求。
@CrossOrigin注解可以用于类级别或方法级别,如果用于类级别,将适用于整个类中的所有方法。它接受一些参数,包括:
- origins:指示允许跨域请求的来源。默认情况下,它是"*",表示允许来自任何来源的跨域请求。
- methods:指示允许的HTTP方法。默认情况下,它包括GET、HEAD和POST。
- maxAge:指示浏览器可以缓存预检请求的时间(以秒为单位)。
- allowedHeaders:指示允许的请求头。
- exposedHeaders:指示可以访问响应头的列表。
总之,使用@CrossOrigin注解可以解决跨域请求的问题,使得Web应用程序能够更灵活地使用跨域资源。
三、用法
在controller层接口上加上@CrossOrigin注解即可。
@CrossOrigin@RequestMapping("/sayHello")public String sayHello() {return userService.sayHello();}
相关文章:
@CrossOrigin注解解决跨域问题
文章目录 一、什么是跨域二、CrossOrigin注解是干什么用的三、用法 一、什么是跨域 跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。 所谓同源是指,域名,协议&…...
【力扣】45. 跳跃游戏 II
Problem: 45. 跳跃游戏 II 文章目录 问题思路复杂度Code 问题 思路 核心思路,例如nums[i]5,那么最远能跳五步; //那么在这接下来1-5范围内,哪个能让我跳的最远,这个最远指的是 -------------------------------------…...
【Python基础】19.eval函数的使用
eval函数 eval()将字符串转变为有效的表达式来求值并返回对应的结果 基础数据计算 In [1]: eval("1 1") Out[1]: 2字符串重复 In [2]: eval (" * * 10") Out[2]: **********字符串转为列表 In [3]: type(eval("[1,2,3,4,5]")) Out[3]: lis…...
对装饰器模式的理解
目录 一、场景二、面对场景中的新需求,我们怎么办?1、暴力法:直接修改原有的代码。2、子类继承法:既然要增强行为,那我搞一个子类,覆写不就完事了?3、装饰器模式 三、对装饰器模式的思考1、从代…...
在替换微软AD的CA证书服务AD CS前,要先做哪些准备工作?
AD CS是什么 关于这个问题,有几个概念需要先弄明白:PKI、CA、数字证书。 PKI(Public Key Infrastructure,公钥基础设施)是提供公钥加密和数字签名服务的系统或平台,实现基于公钥密码体制的密钥和证书的产生…...
Java中的System
文章目录 概要小结 概要 在Java中,System类提供了一些静态方法来实现与系统相关的操作。以下是System类中常用的方法及其含义: System.currentTimeMillis():返回当前时间(以毫秒为单位)自1970年1月1日00:00:00 GMT以来…...
Mybites一对多collection
Goods实体属性: private List<GoodsImg> goodsImgList; private String id; private String name; GoodsImg实体属性: private String id; private String fid; private String imgpath; …...
基于springboot实现图书进销存管理系统项目【项目源码+论文说明】计算机毕业设计
基于springboot实现图书进销存管理系统演示 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了图书进销存管理系统的开发全过程。通过分析图书进销存管理系统管理的不足,创建了一个计算机管理图书进销…...
敏捷开发:想要快速交付就必须舍弃产品质量?
随着敏捷的推广与应用,如今已经成为了最有效的团队级别的方法论,越来越多的软件和 IT 团队正在采用敏捷,但是你在敏捷吗? 自从那一群充满影响力的软件从业者聚集在一起并发布了《敏捷宣言》以来,已经过去了 23 年。敏…...
SNMP-详解指南
目录 SNMP介绍 SNMP的工作机制轮询 SNMP的MIB(管理信息库) SNMP是基于UDP协议 SNMP介绍 SNMP(Simple Network Management Protocol,简单网络管理协议)是一种广泛应用于互联网上的网络管理协议。它提供了一种标准化…...
vue-router 原理【详解】hash模式 vs H5 history 模式
hash 模式 【推荐】 路由效果 在不刷新页面的前提下,根据 URL 中的 hash 值,渲染对应的页面 http://test.com/#/login 登录页http://test.com/#/index 首页 核心API – window.onhashchange 监听 hash 的变化,触发视图更新 window.onhas…...
WebGl/Three 粒子系统 人物破碎及还原运动
粒子 首先,加载模型,这是万千粒子的前身,模型对象由很多面构成,这些面又是由各个点构成的,所以可以将模型的几何体对象geometry赋给粒子对象,粒子物体用Points方式渲染 bloader.load("obj/female02/Fe…...
华为OD-C卷-分披萨[100分]
题目描述 "吃货"和"馋嘴"两人到披萨店点了一份铁盘(圆形)披萨,并嘱咐店员将披萨按放射状切成大小相同的偶数个小块。但是粗心的服务员将披萨切成了每块大小都完全不同奇数块,且肉眼能分辨出大小。 由于两人都想吃到最多的披萨,他们商量了一个他们认…...
uniapp 中video标签视频禁止快,拖拽快进
废话不多说,直接上代码 <video id"myVideo" :src"sectionInfo.type_config.video_url" timeupdate"bindtimeupdate"></video> <script>export default {data() {return {historyTime: 0,}},methods:{// 监听播放进…...
网页端HTML使用MQTTJs订阅RabbitMQ数据
最近在做一个公司的日志组件时有一个问题难住了我。今天问题终于解决了。由于在解决问题中,在网上也查了很多资料都没有一个完整的实例可以参考。所以本着无私分享的目的记录一下完整的解决过程和实例。 需求:做一个统一日志系统可以查看日志列表和一个可…...
课题学习(二十一)----姿态更新的四元数算法推导
声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。 最近需要使用AEKF对姿态进行结算,所以又对四元数进了深入的学习,本篇博客仅对四元数进行推导,后续会对基于四元数的…...
NL2SQL进阶系列(5):论文解读业界前沿方案(DIN-SQL、C3-SQL、DAIL-SQL、SQL-PaLM)、新一代数据集BIRD-SQL解读
NL2SQL进阶系列(5):论文解读业界前沿方案(DIN-SQL、C3-SQL、DAIL-SQL)、新一代数据集BIRD-SQL解读 NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(Spider vs BIRD)全面对比优劣分析[Text2…...
双指针运用:删除重复元素、移除元素
26.删除重复元素 题目描述 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元…...
什么是三高架构
三高架构是指在软件系统设计与开发中,注重解决高并发性、高可用性和高性能的架构设计模式。 高并发性:指系统能够处理大量并发请求的能力。在高并发场景下,系统需要具备有效的并发处理机制,以保证系统能够快速、准确地响应大量并…...
Unity 对APK签名
关键代码 PS D:\UnityProject\YueJie> jarsigner -verbose -keystore D:\UnityProject\YueJie\user.keystore -signedjar D:\UnityProject\YueJie\meizuemptyapk-release-signed.apk D:\UnityProject\YueJie\MeizuEmpty-release-unsigned.apk 1 示例 # jarsigner的命令格…...
SINAMICS V90伺服驱动器故障代码大全
SINAMICS V90伺服驱动器在运行过程中可能出现故障,导致设备停机。用户可通过BOP面板或调试软件查看故障代码,并根据以下信息判断故障原因及处理方法。序号报警号信息故障信息可能原因处理方法1F1000内部软件错误出现了一个内部软件错误。分析故障缓冲器为…...
Python金融数据分析实战:从数据清洗到LLM智能问答机器人构建
1. 项目概述:一个金融数据分析与智能问答的实战项目 最近在整理一些数据分析的实战项目,正好翻到了之前为Forage BCGX GenAI项目做的一个金融分析案例。这个项目麻雀虽小,五脏俱全,它完整地走了一遍从原始数据清洗、指标计算、可视…...
思考的快与慢:模型的“即时回答”与“深思熟虑”
上一篇文章我们学会了如何“使唤”模型:同步、异步、批量、流式,一通操作下来,你已经是调接口的好手了。但很快你可能会发现一个有意思的现象——同样是回答问题,有时候模型快到几乎零秒响应,有时候却要停顿好几秒甚至…...
Tarjan算法:从DFS序到强连通分量的寻路指南(附C++实战与缩点技巧)
1. 从迷宫探索到强连通王国:Tarjan算法的生活隐喻 想象你正在探索一座巨大的迷宫,手里拿着粉笔和记事本。每走到一个新的岔路口,你就在墙上标记数字(第一个到的路口标1,第二个标2...),这就是DFS…...
Docker Desktop 磁盘空间占用过大?手把手教你彻底瘦身
前言 很多使用 Docker Desktop for Windows 的同学都会遇到一个头疼的问题:明明没有拉取多少镜像,Docker 却占用了几十甚至上百 GB 的磁盘空间。更让人困惑的是,执行了 docker system prune 清理命令后,磁盘空间完全没有变化&…...
从理论到落地,一文读懂现代AI Agent的完整记忆流水线
来源:DeepHub IMBA 本文约6500字,建议阅读13分钟本文介绍 AI Agent 四大记忆分类与流水线,解析生产架构、选型方案及常见落地误区。每一次 LLM 调用都是无状态的。模型读上下文窗口,生成响应然后忘掉一切。这对单轮问答没问题。对…...
别再死记硬背了!用Python+Graphviz把离散数学的图论和关系画出来(附代码)
用PythonGraphviz将离散数学中的抽象概念可视化 离散数学是计算机科学的基础课程之一,但其中的图论、二元关系等概念往往因为高度抽象而让学习者感到困惑。传统的死记硬背方式不仅效率低下,也难以真正理解这些概念的本质。本文将介绍如何利用Python的net…...
Cadence焊盘绘制实战:从零到一构建PCB封装基石
1. 为什么焊盘设计是PCB封装的基石 刚入行硬件设计那会儿,我总以为画封装就是照着尺寸描边。直到有次量产时发现整批QFN芯片虚焊,才明白焊盘设计才是封装可靠性的命门。Cadence的分离式设计哲学——将焊盘(Padstack)与封装&#x…...
Temu 批量视频更新效率:10 分钟搞定全店素材,抢占内容流量高地
2026 年 Temu 平台内容化流量分配机制全面落地,商品视频权重持续攀升,成为决定搜索排名与转化效果的核心变量。但多数卖家仍受困于手动逐个上传视频的低效模式,错失流量红利。凌风工具箱基于 Temu 官方 API 开发的批量视频更新功能࿰…...
保姆级教程:在银河麒麟Normal模式下,用kysec_set给第三方软件‘开绿灯’
银河麒麟系统下第三方软件安全授权全流程指南 在国产操作系统逐步普及的今天,银河麒麟作为主流选择之一,其安全机制设计严谨但有时也会给日常运维带来挑战。最近连续三个项目部署中,我都遇到了相同的问题——开发团队提供的工具包在测试环境运…...
