学习笔记:spring框架下跨域问题的解决(后端解决)

前后端分离下spring security 跨域问题等 最近在做一个项目,前后端分离,不可避免的遇到了跨域问题。起初是配置跨域: @Configuration public class CorsConfig extends WebMvcConfigurerAdapter { private CorsConfiguration buildConfig() { CorsConfiguration corsConfigurat... 阅读详情

学习笔记:spring框架下跨域问题的解决(后端解决):

笔者大一学生,内容自学,本文内容为实践中遇到问题的记录,若是存在错误麻烦各位大佬帮忙留言指正。2020.4.25

前端技术栈:Vue框架

后端技术栈:Spring Boot

开发方式:Spring Boot+Vue实现前后端分离

  • 直接使用前端vue的js里面请求后端调用方法查询数据库,并将数据信息返回,结果报错

    也就是我们平时遇到的跨域问题

created() {
axios.get('http://localhost:9090/book/findAll').then(function (response) {
console.log(response);
})

在这里插入图片描述

解决方式1(基于注解,简单快捷):

后端框架:

  • 直接在需要进行跨域的方法上加@CrossOrigin方法注解
@CrossOrigin
@GetMapping("/findAll")
public List<Book> findAll(){
    return bookRepository.findAll();
}

解决方式2(配置类):

  • 新建一个类,添加一个类注解@Configuration
  • 该类实现WebMvcConfigurer接口
  • 重写addCorsMappings方法,基本内容如下:
    • registry.addMapping()方法表示注册的后端映射
    • allowedOrigins()方法表示允许跨域范围
    • allowedMethods()方法表示允许跨域的请求类型
    • allowedHeaders()表示允许发送的头信息如content-type:"application/json"

完整代码如下:

package com.znk.springbootvue.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class CrosConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
            .allowedOrigins("*")
            .allowedMethods("GET", "POST", "DELETE", "PUT", "HEAD", "OPTIONS")
            .allowCredentials(true)
            .maxAge(3600)
            .allowedHeaders("*");
    }
}

两次请求结果如下:

在这里插入图片描述

跨域问题解决,顺带记录一个踩的小坑(跨域后的函数的回调)

将跨域后拿到的数据显示在前端页面

<template>
<div>
    <table>
        <tr>
            <th>编号:</th>
            <th>书名:</th>
            <th>作者:</th>
    </tr>
        <tr v-for="items in books">
            <td>{{items.id}}</td>
            <td>{{items.name}}</td>
            <td>{{items.author}}</td>
    </tr>
    </table>
    </div>
</template>

<script>
    export default {
        name: "Book",
        data() {
            return {
                books: [],
            }
        },
        created() {
            axios.get('http://localhost:9090/book/findAll').then(function (response) {
                console.log(response);//控制台显示
                this.books = response.data;//数据返回视图
            })
        }
    }
</script>

<style scoped>

</style>

在这里插入图片描述

已经拿到数据但是显示不出来,可以看见控制台报错’books’ of undefined。

原因分析:

前端拿到后端发来的数据后,当前的this指代books,数据中并没有books。

而我们需要将数据指向自己定义的books数据将其展示。

所以我们需要重新定义一个变量指代自己定义的books,将this(data()里面的books)指向_this

created() {
let _this=this;
axios.get('http://localhost:9090/book/findAll').then(function (response) {
console.log(response);
_this.books = response.data;
})
}

注意:一定要在方法前完成回调操作

刷新页面,结果如下:

在这里插入图片描述

SpringBoot:解决前后端请求跨域问题(详细教程) 在前后端交互的项目中,首先要解决的就是跨域问题,这个问题是由于浏览器的同源策略导致的,这种策略是一种安全机制,它要求网页的协议、域名以及端口都完全相同,才允许一个域下的网页去访问另一个域的资源,只要这三者中有一个不同,就会产生跨域的情况。这篇文章是通过在后端来解决跨域问题的,而如果想在前端解决的话,我们一般会使用一个代理服务器来解决。 阅读详情

相关推荐

Spring Boot 进阶-Spring Boot中如何解决跨域问题

浏览器出于安全考虑,会限制跨域访问,就是不允许跨域请求资源,要求协议,IP和端口必须都相同,其中有一个不同就会产生跨域问题,这就是同源策略。简单的说A应用只能访问A应用对应的后台返回的数据,B应用只能访问B应用后台的数据,如果A应用通过Ajax请求了B应用对应的后台数据的时候就会出现跨域的问题。但是在实际开发中,这种调用方式又是被大家广泛使用的。在CORS技术出现之前,在HTTP请求头中不能包含任何的自定义字段,而且HTTP请求信息也不能操作如下的一些Accept。

初学者 1562

SpringBoot 实现前后端分离的跨域访问(Nginx)

https://www.jianshu.com/p/520021853827 序言:使用Nginx反向代理,可以解决跨域无权和Session丢失的问题,十分方便。下面我们以前后端分离为案例,展开Nginx的使用教程。 一. 配置和启动Nginx 下载地址 Nginx下载传送门:Nginx Stable Version Download 注意事项:下载之后,记得解压到全英文路径,避免中文路径导致Nginx启动失败。 修改配置 打开nginx.conf ,清空配置项,然后将下面的配置信息原封不

MyDriverC 588

芯片设计数字后仿与SDF文件:原理、流程与实战调试指南

在数字芯片设计流程中,时序验证是确保芯片功能正确与性能达标的核心环节。其原理在于通过精确的物理延迟模型,模拟信号在真实硅片上的传播行为,从而暴露理想仿真中无法发现的时序问题。这项技术的核心价值在于它是连接前端逻辑设计与后端物理实现的桥梁,能有效发现建立时间/保持时间违例、时钟偏斜、竞争冒险等关键风险,是保障芯片一次流片成功的关键步骤。其典型应用场景包括高性能计算单元、复杂SoC以及低功耗设计中的状态切换验证。本文聚焦于数字后仿真的具体实施,深入解析SDF文件的结构与反标机制,并提供从环境搭建、波形分析到与静

weixin_34279184的博客 381

Spring如何解决跨域问题

同源指的是协议、主机名和端口号都相同,如果两个 URL 的这三个部分相同,则这两个 URL 属于同源。同源策略规定了同域下的文档之间可以相互访问和获取资源,但是限制了跨域文档之间相互访问和获取资源。即使是在不同的网页上,只要它们属于同一域名下,它们就可以自由地进行数据交换,可以实现登录状态、cookie 等数据的共享。但是,如果是在不同的域名下访问数据,就会发生“跨域”,此时同源策略就会起作用。

weixin_58724261的博客 1313

私有化大模型部署:企业AI应用的核心架构

私有化大模型部署不是“一次性项目”,而是企业AI的“长期主义”投资——它需要企业投入时间、金钱和精力,但回报是数据安全、定制化能力、核心竞争力的提升。就像“自家厨房”一样,私有化大模型可能初期麻烦,但一旦搭建起来,就能为企业“做”出符合自己口味的“特色菜”,而这些“特色菜”,正是企业在激烈竞争中的“护城河”。愿你能构建属于自己的“AI大脑”,让技术真正赋能业务,让复杂变简单,让深奥变通透。附录:私有化大模型部署架构图(注:可根据企业需求调整,此为通用架构)

AI天才研究院 1021

lgv20刷twrp_LG港版v20 root

这是LG港版v20 root,整理了一下有关LG港版v20的官方固件包了,有没有需要的呢,这里把固件包整理一下也是方便大家以后好下载了,因此有一些机友还是不知道在哪里下载官方的rom包,在这里说的固件rom包也就是原版的系统包了,大家可以放心的使用,这些系统包也都是支持线刷的,大家下载下来解压出来根据里面的相关教程来操作就可以了,很简单的,如果你也需要的话就一起来看看吧。软件提示注意!! 此过程会...

weixin_33212263的博客 5387

Springboot解决跨域问题的五种方法

五种方式进行跨域处理。

m0_52444089的博客 566

Flash芯片的VCC上电到可操作时间过长

Flash的VCC上电到操作时间(tVSL)通常有最大值限制,如果超过这个时间,核心风险是状态机不同步和指令锁存错误。比如芯片内部振荡器可能已经尝试启动又休眠了,但主控却在这之后才发送指令,导致完全 misinterpreted。Flash芯片的(从电源上电到可以正常进行读写操作的时间)如果过长,会产生一系列负面影响简单来说,这个时间过长意味着电源上升速度太慢,违反了芯片的要求。

qq_61918649的博客 722

Spring 处理跨域问题的三种方案

Spring 中关于跨域,一共有如下三种处理方案:(摘自《深入浅出Spring Security》) good luck

扛麻袋的少年的博客 3452

计算机视觉与深度学习 | 2024年至2025年图像匹配算法总结(原理,公式,代码,开源链接)

以上总结覆盖了当前主流和前沿技术,实际选择需结合具体场景(速度/精度/资源限制)评估。

尘世冰封的专栏 1586

Calibre 3Dstack --每日一个命令day27【overlap】(3-27)

本文介绍了Calibre3Dstack中overlap命令的使用方法。该命令用于检查两个已放置层之间的重叠量是否符合要求,支持设置检查名称、层类型、堆叠范围、检查方向等参数。关键参数包括:-constraint指定重叠约束条件,-exact控制百分比精度,-by_area切换为面积检查模式,-intersection报告相交区域。检查结果可通过RVE选项定制显示方式,适用于3D堆叠设计中的层间重叠验证场景。

u013620135的博客 112

面试突击81:什么是跨域问题?如何解决?

跨域问题的本质是浏览器为了保证用户的一种安全拦截机制,想要解决跨域问题,只需要告诉浏览器“我是自己人,不要拦我”就行。它的常见实现方式有 5 种:通过注解实现局部跨域、通过配置文件实现全局跨域、通过 CorsFilter 对象实现全局跨域、通过 Response 对象实现局部跨域,通过 ResponseBodyAdvice 实现全局跨域。

m0_56069948的博客 3533

2026年最值得学习的十大 SAP 开发技术

在这辞旧迎新之际,我想和大家聊聊我心中的2026年我仍然愿意持续投入时间去学习的一些 SAP 开发技术。因为笔者水平和视野局限,加上这份清单有笔者主观兴趣爱好在内,可能大家对清单上罗列的技术有不同意见,欢迎大家在评论区发表自己的见解。下面是笔者列出的十个技术方向,排名不分先后。因为精力有限,2026年我很可能只会选择其中一两个自己最感兴趣的方向去深耕。每项技术后面都提供了链接,方便大家看完就开始学习。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1519

Spring boot前后端分离后,跨域问题怎么解决?

现在基于spring boot前后端分离的开发模式越来越普遍,那么,由于前后端分离引发的跨域问题,你知道怎么解决吗? 什么是跨域 跨域是指 不同域名之间相互访问。即浏览器控制当前网页下不能执行其他网站的脚本,这是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。 也就是如果在A网站中,我们希望使用Ajax来获得B网站中的特定内容 如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题。 跨域的安全限制都是对浏览器端来说的,服务器端是不存在跨域安全限制的。 同源策略 同源策略/S.

弹指天下 4512

最大面积验证码通用解法

最大面积验证码、面积验证通用解法

九月镇灵将的博客 1043

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

解决Spring+Vue的跨域问题

通过在Vue项目中配置代理和在SpringBoot项目中配置全局跨域策略,我们可以有效地解决Spring+Vue项目中的跨域问题。前端通过代理将请求转发到后端,后端通过全局配置允许特定域名的请求,从而实现前后端的顺利通信。希望本文的介绍能帮助你在开发过程中顺利解决跨域问题。版权声明:本博客内容为原创,转载请保留原文链接及作者信息。参考文章SpringBoot与Vue交互解决跨域问题【亲测已解决】SpringBoot+Vue:一站式解决跨域问题。

ning的博客 1457

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【后端】SpringBoot用CORS解决无法跨域访问的问题

适用于更底层的控制(不推荐,除非有特殊需求)。@Component@Override.allowedOrigins("http://localhost:3000") // 推荐明确指定前端地址.allowedHeaders("*") // 可选,允许前端发送的自定义 Header// 可选,预检请求的缓存时间(单位秒)

子冉冰清的博客 2058

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

SpringBoot解决跨域问题

分享知识 传递快乐 前后端分离是目前的趋势, 解决跨域问题也是老生常谈的话题了,我们了解一下什么是域和跨域。 域:协议 + 域名 + 端口;三者完全相同则为同域,反之有其一不同均为不同域。 跨域请求:当前【发起请求】的域和【请求指向】的域属于不同域时,该次请求称之为跨域请求。 跨域问题: 同一域名下允许通信 同一域名下不同文件夹允许通信 同一域名不同端口不允许通信 同一域名不同协议不允许通信 域名和域名对应IP不允许通信 主域名相同,子域名不同不允许通信 同一域名,不同二级..

旷野历程 1万+

Spring Boot 中如何解决跨域问题 ?

Spring Boot 通过实现WebMvcConfigurer接口,然后重写addCorsMappings方法解决跨域问题;

Java Punk 8490

前后端跨域问题解决

前端:VUE,后端:spring boot。

yuyuxinhello的博客 3259

spring框架解决跨域问题

spring框架解决跨域问题 1.为什么会发生产生跨域问题? 因为浏览器为了安全(同源),本身就限制了。 当我们发送XMLHttpRequest请求的时候,如果请求的是别的域(主机域名、端口)不同时,那么就会产生跨域问题(客户端无法获取服务端返回的数据) 如果不是XMLHttpRequest请求 2.解决方案 在对应的Controller中使用注解@CrossOrigin package ths....

qq_29660549的博客 2824

Spring Cloud Gateway -- Cors解决跨域问题

Spring Cloud Gateway -- Cors解决跨域问题前言Cors 前言 由于前后端分离就会碰到跨域问题,原本我们在后端采用Cors就能解决,现在利用网关,那么就放在网关这层做好了。 Cors /** * 跨域允许 */ @Configuration public class Cors { private static final String MAX_AGE = "18...

a294634473的博客 2万+

springcloud gateway解决跨域问题

因为前后端分离,采取的前端页面直接调用后端的域名,故存在跨域问题。 首先想到的是直接在nginx层解决,配置如下,用了两种方式: // 方式一 if ($request_method = 'OPTIONS') { add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allo...

夏末安的博客 1万+
上一篇: 如何使用配置文件快速搭建一个maven项目(IDEA版)
下一篇: Spring原理学习笔记
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值