什么是跨域问题 ?Spring MVC 如何解决跨域问题 ?

news2024/12/28 21:21:36

1. 什么是跨域问题 ?

跨域问题指的是不同站点之间,使用 ajax 无法相互调用的问题。

跨域问题的 3 种情况:

1. 协议不同,例如 http 和 https;

  • http://127.0.0.1:8080
  • https://127.0.0.1:8080

2. 域名不同;

  • 一级域名、二级域名..不同,都算跨域请求

3. 端口不同.

  • 80
  • 443

为什么要有跨域问题 ?

        跨域问题本质上是浏览器的一种保护机制,它诞生的初衷是为了保证用户的安全,防止恶意网站窃取数据。但是这个保护机制也带来新的问题,它使得不同站点之间的正常调用,也会遇到阻碍。

2. Spring MVC 如何解决跨域问题 ?

1. 定义一个配置类;

2. 在配置类中写一个方法,返回 WebMvcConfigurer 对象,并重写 addCorsMappings 方法。

@Configuration
public class MyConfiguration {
    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurer() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                // 设置允许跨域的请求规则【响应头里添加标识】
                registry.addMapping("/api/**");
            }
        };
    }
}

        跨域问题,它的请求可以到达后端,只不过在后端返回响应给前端的时候,浏览器会做跨域问题的验证。

为什么不在前端验证 ?

因为前端代码是可以修改的,通过开发者工具都是可以伪造的,所以在前端验证没有意义。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/948370.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在springboot项目中显示Services面板的方法

文章目录 前言方法一:Alt8快捷键方法二:使用Component标签总结 前言 在一个springboot项目中,通过开启Services面板,可以快速的启动、配置、管理多个子项目。 方法一:Alt8快捷键 1、在idea界面输入Alt8,在…

非科班菜鸡算法学习记录 | 代码随想录算法训练营第50天|| 123.买卖股票的最佳时机III 188.买卖股票的最佳时机IV

123. 买卖股票的最佳时机III 123. Best Time to Buy and Sell Stock III(英文力扣连接) 知识点:动规 状态:看思路ok 思路: 跟之前股票思路一样,多定义几个状态,此题要买两次,所以算上不操作一共有五个状态…

软件测试案例 | 气象探测库存管理系统的集成测试计划

将经过单元测试的模块按照设计要求连接起来,组成规定的软件系统的过程被称为“集成”。集成测试也被称为组装测试、联合测试、子系统测试或部件测试等,其主要用于检查各个软件单元之间的接口是否正确。集成测试同时也是单元测试的逻辑扩展,即…

聊聊手机导航软件

目录 1.人在外地没有导航的后果 2.传统导航方式 3.手机软件导航的原理 4.手机导航的优点 1.人在外地没有导航的后果 在外地没有导航的情况下,可能会带来以下一些后果: 1. 容易迷路:没有导航指引的情况下,你可能会走错路线&…

常见前端面试之VUE面试题汇总十三

39. Vue 中 key 的作用 vue 中 key 值的作用可以分为两种情况来考虑: 第一种情况是 v-if 中使用 key。由于 Vue 会尽可能高效地渲染元 素,通常会复用已有元素而不是从头开始渲染。因此当使用 v-if 来 实现元素切换的时候,如果切换前后含有相…

普里戈任或持有近10万个比特币

来源:Beincrypto 作者:David Thomas 编译:Shelby 摘要: 一个持有26 亿美元的比特币钱包已被确定可能与俄罗斯军事承包商有联系。 虽是猜测,但据报道「叶夫根尼普里戈任」的不正规商业行为可能受益于比特币的匿名性功能…

中国应试教育市场:挑战与机遇并存,金榜状元引领前行

2023年全国高考报名人数1291万人再次刷新历史纪录,但一本的录取率仅为23%;教育部2021年开始推行中考分流政策,只有约为50%初中毕业生可以升入普通高中;“双减”政策的推行,使得高考升学的压力提前到中考阶段&#xff0…

ATFX汇市:美元指数已连续六周收阳,需警惕超买风险

ATFX汇市:7月14日当周,因为6月份爆冷的非农就业报告,美元指数大跌2.26%。奇怪的是,在此之后,美元指数进入超强牛市状态。截至上周,已经连续6周收出阳K线,累计涨幅达4.24%,最高触及10…

CI/CD 持续集成 持续交付

CI(Continuous integration)持续集成 参考:https://www.jianshu.com/p/2132949ff84a 持续集成是指多名开发者在开发不同功能代码的过程当中,可以频繁的将代码行合并到一起并切相互不影响工作。 持续集成的目的,是让…

多店铺智能客服,助力店铺销量倍增

近年来电商发展得非常快速,市场竞争也是愈发激烈了。商家不仅需要提高产品和服务的质量,还要争取为自己获取更多的曝光,以此来分散运营的风险和降低经营的成本,所以越来越多的商家也开始转向多平台多店铺运营。但即使运营多个平台…

Shiro整合SpringBoot,实战下的应用场景

文章目录 前言一、springBootshiro环境准备1.数据库2.ssmp环境搭建3.实体类4.三层搭建5.初始化测试数据 二、Shiro过滤器1.Shiro认证过滤器2.Shiro授权过滤器 三、springBootshiro身份认证1.创建Realm,重写认证方法doGetAuthenticationInfo2.创建shiro配置类3.Postman测试 四、…

并发(读写锁,线程池)03 详细讲解

读写锁 独占锁&#xff1a;一次只能被一个线程占有 共享锁。多个线程可以同时占有 class Apple{public static void main(String[] args) {Mycache mycachenew Mycache();for (int i 0; i <5 ; i) {final int tempi;new Thread(()->{mycache.put(temp"",tem…

北京985学校,交叉学科考英一数三408

北京师范大学(B) 考研难度&#xff08;☆☆☆&#xff09; 内容&#xff1a;23考情概况&#xff08;拟录取和复试分析&#xff09;、院校概况、23专业目录、23复试详情、各专业考情分析、各科目考情分析。 正文1096字&#xff0c;预计阅读&#xff1a;3分钟 2023考情概况 北…

ChatGPT⼊门到精通(5):ChatGPT 和Claude区别

⼀、Claude介绍 Claude是Anthropic开发的⼀款⼈⼯智能助⼿。 官⽅⽹站&#xff1a; ⼆、Claude能做什么 它可以通过⾃然语⾔与您进⾏交互,理解您的问题并作出回复。Claude的主要功能包括: 1、问答功能 Claude可以解答⼴泛的常识问题与知识问题。⽆论是历史上的某个事件,理科…

飞天使-python的字符串转义字符元组字典等

文章目录 基础语法数据类型python的字符串运算符输入和输出 数据结构列表与元组字典与集合 参考文档 基础语法 数据类型 数值型 &#xff0c;整数 浮点型 布尔型&#xff0c; 真假&#xff0c; 假范围 字符型 类型转换python的字符串 了解转义字符一些基本的运算 \ 比如一行…

聊聊大规模敏捷框架和测试启发

这是鼎叔的第七十三篇原创文章。行业大牛和刚毕业的小白&#xff0c;都可以进来聊聊。 欢迎关注本公众号《敏捷测试转型》&#xff0c;星标收藏&#xff0c;大量原创思考文章陆续推出。 之前的敏捷实践介绍文章&#xff0c;都是以单个团队&#xff08;独立交付特性的敏捷团队…

R语言对综合社会调查GSS数据进行自举法bootstrap统计推断、假设检验、探索性数据分析可视化|数据分享...

全文链接&#xff1a;https://tecdat.cn/?p33514 综合社会调查&#xff08;GSS&#xff09;是由国家舆论研究中心开展的一项观察性研究。自 1972 年以来&#xff0c;GSS 一直通过收集当代社会的数据来监测社会学和态度趋势。其目的是解释态度、行为和属性的趋势和常量。从 197…

口碑最好的洗地机排名 洗地机哪个牌子性价比高

口碑最好的洗地机排名 洗地机哪个牌子性价比高 洗地机&#xff0c;作为现代家庭和商业环境中必备的清洁设备&#xff0c;既方便又高效。不过&#xff0c;面对市场上众多的洗地机品牌&#xff0c;我们该如何选择呢&#xff1f;毫无疑问&#xff0c;我们都希望能够找到一款口碑最…

vue中使用window.open打开assets文件夹下的pdf文件

需求&#xff1a;系统有个操作手册&#xff0c;点击会在浏览器新开个窗口并打开pdf文件。这个pdf文件存储在本地assets文件夹中。 文件结构&#xff1a; 注&#xff1a;直接使用window.open(文件路径)不能打开&#xff0c;需要在vue.config.js中配置所需文件 引入图中红框中的…

AMD 锐龙 8000系 APU 将补完其产品线,推出 12C24T16CU 和 16C32T40CU

我们大家都知道一直以来&#xff0c;AMD 的 APU 只到 R7&#xff0c;也就是 R7-x700G 和 r7-x800H。虽然也有 R9-x900HX&#xff0c;但它毕竟是 x800H 硬超上去的&#xff0c;核心数完全一样&#xff0c;并不能叫做真正的 R9。 究其原因&#xff0c;AMD 的 APU 是移动端优先的…