学习笔记002——Java后端解决跨域问题

解决跨域的方法 产生跨域的原因: 浏览器的同源策略。 本质是 浏览器拦截了跨域的网站返回的数据。 所以有两种办法解决: 1. 用前端用代理器,代理接受跨域网站返回的数据。 2. 服务端符合CORS规范,在代码里写好允许哪个网站进行跨域访问。 目的,是为了防止CSRF(跨站请求伪造)。 什么是CSRF_炎升的博客-优快云博客_csrf目录1、CSRF是什么?2、CSRF漏洞检测3、防御CSRF攻击:3.1、验证 HTTP Referer 字段3.2、在请求地址中添加 token 并验证3.3、在 HTTP 头中自定义属性并 阅读详情

方法一:实现  WebMvcConfigurer  接口。(全局跨域)

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 CorsConfiguration implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")  //设置允许跨域访问的路径
                .allowedOriginPatterns("*") //设置允许跨域访问的源
                .allowCredentials(true) //是否发送 cookie
                .allowedMethods("GET", "POST", "DELETE", "PUT") //允许跨域请求的方法
                .maxAge(3600);  //预检间隔时间
    }
}

方法二:使用SpringBoot的  @CrossOrigin  注解 标注在Controller类上或者控制类的方法上。

方法三:返回新的 CorsFilter。(全局跨域)

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

@Configuration
public class CorsFilterConfig {

    @Bean
    public CorsFilter corsFilter() {
        //1. 添加 cors 配置信息
        CorsConfiguration config = new CorsConfiguration();
        // 放行哪些原始域
        config.addAllowedOrigin("*");
        // 是否发送 Cookie
        config.setAllowCredentials(true);
        // 放行哪些请求方式
        config.addAllowedMethod("*");
        // 放行哪些原始请求头部信息
        config.addAllowedHeader("*");
        // 暴露哪些头部信息
        config.addExposedHeader("*");
        //2. 添加映射路径
        UrlBasedCorsConfigurationSource corsConfigurationSource = new UrlBasedCorsConfigurationSource();
        corsConfigurationSource.registerCorsConfiguration("/**",config);
        //3. 返回新的CorsFilter
        return new CorsFilter(corsConfigurationSource);
    }
}

PS:发博客,仅仅是当作学习的笔记~

Java后端面试到底要如何准备? Mybatis 源码分析:集成 Spring 后,SqlSession 如何做到线程隔离的?SpringBoot 源码分析:内置 Tomcat(Servlet 容器)源码分析。Mybatis 源码分析:Spring 与 Mybatis 的集成原理。JUC 源码分析:ArrayBlockingQueue 源码分析。Spring 源码分析:BeanDefinition 体系分析。JUC 源码分析:SynchronousQueue 源码分析。SpringCloud 源码分析:Eureke 获取注册表。 阅读详情

相关推荐

SpringBoot中重写addCorsMapping解决跨域以及提示list them explicitly or consider using “allowedOriginPatterns“ in

在SpringBoot中做静态资源映射时,通过编写配置类实现WebMvcConfigurer接口并重写addResourceHandlers方法进而实现静态资源映射,将服务器磁盘路径映射出一个网络url。但是当前端使用该静态url时提示跨域问题。之前在上面的博客中解决跨域问题时可以直接重写addCordMappings方法即可。但是在应用时发现不好使,并且后台提示注:博客:关注公众号霸道的程序猿获取编程相关电子书、教程推送与免费下载。

BADAO_LIUMANG_QIZHI的博客 4908

Java后端解决跨域问题

其实跨域问题的产生是在前后端分离的情况下,分离部署产生的浏览器自我保护行为,前端也可以解决跨域问题。以下仅提供了三种后端解决方案。

qq_42858008的博客 2154

【故障排查】telnet连接失败:端口23不可达的深度分析与解决方案

本文深度解析telnet连接失败时端口23不可达的常见原因与解决方案。从快速自查目标地址、端口到服务端排查,涵盖服务状态检查、防火墙配置及安全组设置,并提供进阶诊断工具与抓包分析方法。文章强调telnet协议的安全风险,建议在生产环境中改用SSH等加密协议进行远程管理。

weixin_28323057的博客 392

springboot配置cors跨域原理与实践

原理 CORS(Cross-Origin Resource Sharing)是由W3C制定的一种跨域资源共享技术标准,其目的就是为了解决前端的跨域请求。在Java EE开发中,最常见的前端跨域请求解决方案是JSONP,但是JSONP只支持GET请求,这是一个很大的缺陷,而CORS则支持多种HTTP请求方法。以CORS中的GET请求为例,当浏览器发起请求时,请求头中携带了如下信息: 假如服务端支持CORS,则服务端给出的响应信息如下: 注意 响应头中有一个Access-Control-Allow-Orig

hello world 3696

Jenkins插件下载慢?3分钟搞定国内镜像加速(含华为/腾讯/清华源对比)

本文详细介绍了如何通过国内镜像源加速Jenkins插件下载,包括华为云、腾讯云和清华源等主流镜像站的性能对比及一键配置方案。通过实测数据展示华为云镜像站表现最佳,下载速度达19.4MB/s,并提供sed命令、管理界面配置和Docker定制三种高效加速方案,帮助开发者快速解决插件下载慢的问题。

sql99的博客 320

最优化方法 25:PDHG

前面的章节要么从原始问题出发,要么从对偶问题出发,通过求解近似点或者一个子优化问题进行迭代,而且推导过程中我们发现根据问题的参数特征,比如矩阵 AAA 是瘦高型的还是矮胖型的,采用对偶和原始问题的复杂度会不一样,可以选择一个更简单的。而这一节,我们将要从原始对偶问题出发来优化,什么是原始对偶问题呢?就是原始优化变量和对偶优化变量(原始函数和共轭函数)混合在一块,看下面的原理就知道了。 1. 原始对偶问题 现在考虑原始优化问题,其中 f,gf,gf,g 为闭凸函数 min⁡f(x)+g(Ax) \min \q

Glooow的博客 4599

【JavaWeb】跨域问题的多种解决方案

【JavaWeb】跨域问题的多种解决方案

nandao158的博客 346

别再模拟IIC了!用STM32F103C8T6的硬件IIC驱动AT24C64,CubeMX配置+避坑指南

本文详细介绍了如何使用STM32F103C8T6的硬件IIC驱动AT24C64 EEPROM,通过CubeMX配置和HAL库函数解析,提供从模拟IIC到硬件IIC的完整解决方案。内容包括硬件IIC与模拟IIC的核心差异、CubeMX工程配置详解、HAL库驱动实战以及典型问题诊断与优化,帮助开发者构建更稳定高效的存储系统。

weixin_27038245的博客 188

java代码示例:Spring Boot 配置CORS以解决解决跨域问题

跨域可以在前端通过 JSONP 来解决,但是 JSONP 只可以发送 GET 请求,无法发送其他类型的请求,在 RESTful 风格的应用中,就显得非常鸡肋,因此我们推荐在后端通过 (CORS,Cross-origin resource sharing) 来解决跨域问题。

学亮编程手记 562

sophgo sdk v23.03.01

C/C++程序建议在x86主机上使用交叉编译工具链编译生成可执行文件后,再拷贝到SoC目标平台运行。# 创建docker用户组,若已有docker组会报错,没关系可忽略。对于SoC模式,模型转换也需要在docker开发容器中完成;docker开发容器的配置参照前述章节相关内容。6、创建docker容器并进入Docker。# docker命令免root权限执行。# 将当前用户加入docker组。# 重启docker服务。# 安装 docker。3、安装docker。7、SoC 环境配置。

weixin_40723768的博客 912

AI 编程助手新玩法:用 Claude Code 一键调用国产大模型(DeepSeek/Kimi/GLM 对比)

本文深入评测了Claude Code与三大国产大模型(DeepSeek、Kimi、智谱GLM)的集成效果,详细对比了它们在代码生成质量、响应速度和特殊场景支持度等方面的差异。通过实测数据和实战技巧,帮助开发者选择最适合的AI编程助手组合,提升开发效率。

weixin_30955617的博客 485

Java后端解决前后端跨域的3种方法

Java后端解决前后端跨域的3种方法。

Professorz_的博客 4158

PCL 将对象模板与点云对齐【2025最新版】

PCL模版匹配算法的使用案例,博客长期更新,本文最近更新时间为:2025年1月18日。

点云侠的博客 5378

web开发 - 跨域访问问题

在web项目中,跨域访问很常见。所谓跨域访问,就是在访问第一个域(domain 1)的返回html页面中,有的元素比如<img><a>中携带到另外一个域(domain 2)的链接。 浏览器不会阻止对domain2的访问,但是对domain 2的相应结果却有要求,如果在domain 2中如果没有以下header参数,尤其是Access-Control-Allow-Origin设置的如果不是domain 1的域名或者 *(表示允许任意域访问), 那浏览器收到domain2的响应后,会

Tom098的博客 759

基于PCL的电力线点云提取与分割实现

本文基于PCL库实现电力线点云提取与分割,包含6个核心处理阶段:文件读取与结果文件夹创建、高程滤波分割候选点云、欧式聚类去噪、电力线分段提取、球形邻域搜索补全点云、最终分割与可视化保存。通过PCA计算点云线性特征(阈值0.91)筛选电力线点,采用欧式聚类(容忍度3.0)去除噪点,并针对不同规模聚类差异化设置球形搜索半径(4.0/6.0)补全点云。最终通过欧式聚类分割并可视化带颜色点云。算法对高程滤波阈值、聚类参数等具有敏感性,需根据点云特性调整优化。

weixin_45196569的博客 192

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

前后端分离系列--05--Spring Boot+Vue 前后端分离-项目搭建+跨域解决——核心002

很好的入门教程【跨域部分行不通】 https://segmentfault.com/a/1190000014211773 跨域问题的解决: 什么 JB WebMvcConfigurer,WebMvcConfigurer,WebMvcConfigurationSupport 【参考https://www.cnblogs.com/xingzc/p/8656088.html】 统统行不...

NRGAGA的专栏 299

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

携带cookie的跨域访问

携带cookie的跨域解决方案 有的时候访问后台的请求需要携带cookie以供后台分析,比如jQuery的ajax请求: $.ajax({ url: a_cross_domain_url, xhrFields: { withCredentials: true } }); 这个时候就要求能跨域,还要能携带cookies,我没找到能实现这两个的插件,也就是要更改后台代码。 携带coo...

a0544024083的博客 732

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

vue+elementui+springboot实现前后端分离的小例子

前后端分离有什么好处? 1、前端js可以做很多数据处理的工作,减小服务器的压力。 2、后台的错误不会直接反映到前台。 3、前后端工程师约定交互接口,实现并行开发,可以提高开发效率,同时代码可以更好的维护。 前后端分离会存在跨域的问题,什么是跨域呢? 打个比方,后端运行的项目占用了8080端口,前端运行的项目就不能使用8080端口了,可以使用8081端口,那么前端调用后端接口时就存在跨域的问题。 通...

智慧包的博客 3409

16.SpringBoot前后端分离项目之简要配置一

SpringBoot前后端分离项目之简要配置一的学习

sunnypaopao的博客 1122

Java实现JT/T808以及T/GDRTA002-2020车辆协议对接

Java实现JTT808协议对接

qq_29648139的博客 3215

动力节点Vue-p99-演示AJAX跨域问题~p101-开启Vue脚手架的代理机制

b站动力节点的这一期视频,弄了8000和8001两个后端访问的资源模拟ajax跨域问题,但是视频中并没有讲解怎么部署这两个资源。我也是根据动力节点前面的教学视频所学的之后,在IDEA中,使用Tomcat服务器进行了简单的部署,虽然有一些差别,但是也基本达到了想要的效果。由于前面JavaWeb讲过了很多知识,我就简单的给一些步骤就行了哈废话不多说,直接开搞。

qq_61570366的博客 104

【J2EE核心开发学习笔记 002】线程基础

【J2EE核心开发学习笔记 002】线程基础

DaveBobo的博客 922

Java后端避坑——@RequestParam和@Param注解

今天在项目中书写分页接口的时候,在Controller层和dao层分别用了@RequestParam和@Param这两个注解。简单说一下对这两个注解的理解。 @RequestParam: 一般用在Controller层,用来解决前端与后端参数不一致的问题,在参数上加上@RequestParam,那么前端的参数必须和后端参数一致,否则会报错。当只有一个参数的时候,Controller层中@Reque...

weixin_34268843的博客 1万+

Java时间处理实战:从Instant到ZonedDateTime的跨时区解决方案

在软件开发中,时间处理是一个基础且关键的技术领域,其核心在于协调人类时间与机器时间的差异。Unix时间戳作为机器时间的绝对表示,为计算机提供了统一的时间基准。然而,在全球化业务、跨时区计算和夏令时转换等复杂场景下,简单的时区处理往往会导致数据同步错误、定时任务失效等问题。Java 8引入的java.time包(JSR-310)提供了清晰、线程安全的API,通过Instant、LocalDateTime和ZonedDateTime等核心类,系统性地解决了这些挑战。本文聚焦于跨时区数据同步和定时任务调度,结合实

aoe41606的博客 398

模拟面试002-Java开发工程师+简历+问题+回答

Java开发工程师+简历+问题+回答。

zouhuu的博客 1093

zxjy002- 后端项目环境搭建

返回数据或者操作数据,开发controller、service、mapper过程。主要绑定数据显示在页面。执行 guli_edu。

Haines 329
上一篇: 学习笔记001——SpringBoot的yml文件中密码加密
下一篇: 学习笔记003——MyBatis模糊查询
须晴日.
博客等级 码龄5年 595粉丝 103原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值