iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >SpringBoot跨域问题的解决方法实例
  • 314
分享到

SpringBoot跨域问题的解决方法实例

2024-04-02 19:04:59 314人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

谈到跨域问题,首先我们要认识一下浏览器的同源策略 百度百科对同源策略的解释 当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面 当浏览器的百度tab页执行一个脚本的时候会检查

谈到跨域问题,首先我们要认识一下浏览器的同源策略

百度百科对同源策略的解释

当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面

当浏览器的百度tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的,

即检查是否同源,只有和百度同源的脚本才会被执行。 [1]

如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。

同源策略是浏览器的行为,是为了保护本地数据不被javascript代码获取回来的数据污染,因此拦截的是客户端发出的请求回来的数据接收,即请求发送了,服务器响应了,但是无法被浏览器接收。

其实就是,客户端浏览器请求url去获取资源,也就是请求服务器的ip地址加上端口号(Http://主机名:端口号),如果服务器所在的Ip地址(http://主机名:端口号)并不一致,这就属于不同源,就产生一个跨域的问题,浏览器会禁止服务端返回数据

解决方法有两种

  • 前端制造不符合规则的请求规则
  • 后端进行跨域支持(告诉前端别管这些规则了,按我的来)

跨域问题

跨域问题是指下面一些地方不同(至少一处)

  • 请求协议不同
  • ip地址不同
  • 端口号不同
  • 请求方式不同

SpringBoot解决跨域问题



@Configuration
public class CorsConfig implements WEBmvcConfigurer {
     @Override
    public void addCorsMappings (CorsReGIStry registry) {
        String[] allowOrigins ={"http://localhost:8080/","https://www.quyo.fun/"};
        //允许所有形式的跨域请求
        registry.addMapping ("/**")
                .allowedOriginPatterns ("*")
                .allowCredentials (true)
                .allowedMethods ("GET", "POST", "PUT", "DELETE", "OPTIONS")
                .allowedHeaders("*")
                .maxAge (3600);
    }


    private CorsConfiguration buildConfig () {
        CorsConfiguration corsConfiguration = new CorsConfiguration ();
        List<String> list = new ArrayList<>();
        list.add ("*");
        corsConfiguration.setAllowedOrigins (list);
        corsConfiguration.addAllowedOrigin ("*");
        corsConfiguration.addAllowedHeader ("*");
        corsConfiguration.addAllowedMethod ("*");
        return corsConfiguration;
    }

    @Bean
    public CorsFilter corsFilter () {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource ();
        source.registerCorsConfiguration ("/**", buildConfig ());
        return new CorsFilter (source);
    }

    @Bean
    public HttpMessageConverter<String> responseBodyConverter() {
        StringHttpMessageConverter converter = new StringHttpMessageConverter(
                Charset.forName("UTF-8"));
        return converter;
    }

    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        converters.add(responseBodyConverter());
    }
}

测试

下面是一个前端ajax小测试


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<link type="test/CSS" href="css/style.css" rel="external nofollow"  rel="stylesheet"> 
<script type="text/javascript" src="https://code.Jquery.com/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
	$(function(){
	$("#cors").click(
		function(){
			$.ajax({
				headers:{"token":"","Content-Type":"application/JSON;charset=UTF-8","Access-Control-Allow-Origin":"*"},
				url:"http://47.119.112.252/book/index/show/allBlogs",
				success:function(data){
					console.log("start")
					console.log(data)
					alert(data);
				}
			})
		});
	});
</script>
<body>
	<input type="button" id="cors" value="core跨域测试"
</body>
</html>

跨域问题解决。

总结

到此这篇关于springBoot跨域问题解决的文章就介绍到这了,更多相关SpringBoot跨域问题内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: SpringBoot跨域问题的解决方法实例

本文链接: https://www.lsjlt.com/news/125090.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot跨域问题的解决方法实例
    谈到跨域问题,首先我们要认识一下浏览器的同源策略 百度百科对同源策略的解释 当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面 当浏览器的百度tab页执行一个脚本的时候会检查...
    99+
    2024-04-02
  • Vue+SpringBoot+Shiro跨域问题的解决方法
    这篇文章将为大家详细讲解有关Vue+SpringBoot+Shiro跨域问题的解决方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、配置Vue前端在config下index.js中配置代理信息注意:这...
    99+
    2023-06-15
  • SpringBoot跨域问题的五种解决方式
    目录一、什么是跨域 CORS二、为什么会有跨域问题三、有哪些跨域类型四、解决跨域问题的五种方式1. 添加跨域配置类2. 重写WebMvcConfigurer3. 注解 @CrossO...
    99+
    2024-04-02
  • 解决Vue+SpringBoot+Shiro跨域问题
    目录一、配置Vue前端1、开发跨域配置2、生产跨域配置二、配置spring boot相信大家刚开始做都会遇到这个问题,在网上找了好多也不管用,都写的不全, 在这里记录一下,希望对大家...
    99+
    2024-04-02
  • 怎么解决SpringBoot跨域问题
    这篇文章给大家分享的是有关怎么解决SpringBoot跨域问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。允许全部请求跨域许可的代码需要继承WebMvcConfigurerAdapter类。@Configura...
    99+
    2023-06-28
  • springboot怎么解决跨域问题
    在Spring Boot中解决跨域问题可以通过以下几种方式: 使用注解@EnableWebMvc和@CrossOrigin:在S...
    99+
    2023-10-25
    springboot
  • PHP Session 跨域问题的解决方法
    在前后端分离的开发中,跨域请求已成为常态。在处理跨域问题时,我们通常会涉及到 session 的使用和管理。然而,由于浏览器的同源策略限制,跨域情况下默认情况下无法共享 session。为了解决这个问题,我们需要采用一些技巧和方法来实现 s...
    99+
    2023-10-21
    PHP session 跨域
  • SpringBoot+Spring Security无法实现跨域的问题如何解决
    本篇内容主要讲解“SpringBoot+Spring Security无法实现跨域的问题如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot+Spring Security...
    99+
    2023-06-20
  • SpringBoot中的跨域问题怎么解决
    本篇内容主要讲解“SpringBoot中的跨域问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot中的跨域问题怎么解决”吧!1、跨域访问报错当一个请求url的协议、域名...
    99+
    2023-06-29
  • 有关Ajax跨域问题的解决方法
    本篇内容主要讲解“有关Ajax跨域问题的解决方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“有关Ajax跨域问题的解决方法”吧!概述Ajax跨域是前端开发中常...
    99+
    2024-04-02
  • Springboot怎么解决跨域请求问题
    这篇文章主要介绍“Springboot怎么解决跨域请求问题”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Springboot怎么解决跨域请求问题”文章能帮助大家解决问题。1、什么是跨域由于浏览器同源...
    99+
    2023-07-06
  • AJAX的跨域问题解决方案
    目录跨域的概述区别同源与不同源同源策略有什么用?AJAX跨域解决方案方案一、设置响应头方案二、jsonp方案三、代理机制(httpclient)总结跨域的概述 跨域是指从一个域名的网...
    99+
    2022-12-28
    ajax跨域问题以及解决方案 ajax跨域是什么 ajax调用跨域
  • AJAX跨域问题的解决办法
    本篇内容主要讲解“AJAX跨域问题的解决办法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“AJAX跨域问题的解决办法”吧!1. 使用中间层过渡的方式:中间过渡,...
    99+
    2024-04-02
  • SpringSecurity导致SpringBoot跨域失效的问题解决
    目录1、CORS 是什么2、预检请求3、三种配置的方式3.1 @CrossOrigin 注解3.2 实现 WebMvcConfigurer.addCorsMappings 方法3.3...
    99+
    2023-01-11
    SpringSecurity SpringBoot跨域失效 SpringSecurity SpringBoot跨域
  • springboot 如何解决cross跨域请求的问题
    目录springboot 解决cross跨域请求1.使用ajax发送跨域请求接口时2.在被跨域请求的一方配置3.再次测试4.对于只有个别需要开放跨域请求的接口可以这样玩5.其它解决跨...
    99+
    2024-04-02
  • springboot跨域问题带来的BUG怎么解决
    这篇文章主要介绍了springboot跨域问题带来的BUG怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springboot跨域问题带来的BUG怎么解决文章都会有所收获,下面我们一起来看看吧。需求前端用...
    99+
    2023-06-27
  • 关于SpringBoot与Vue交互跨域问题解决方案
    目录浏览器同源策略一、VUE前端配置代理解决跨域(1)Vue中让浏览器请求携带cookie(2)vue中配置代理解决跨域第一步,设置统一访问路径第二步、配置跨域代理第三步、测试请求二...
    99+
    2024-04-02
  • Nginx解决跨域问题
    目录 前言 一、跨域问题 1.什么是跨域  2.CORS 二、Nginx跨域处理 三.补充 前言 这几天出现了一个问题,我们中的一个A系统需要给B系统调用,造成了跨域问题。 一、跨域问题 1.什么是跨域 当一个请求url的协议、域...
    99+
    2023-09-02
    nginx 服务器 开发语言
  • Python中flask框架跨域问题的解决方法
    目录一、跨域是什么二、如何解决跨域问题总结一、跨域是什么 从一个域名去请求另一个域名,这个过程称之为跨域。浏览器从一个域名的网页去请求另一个域名的资源,域名、端口、协议有一个不一样,...
    99+
    2024-04-02
  • Spring MVC中自带的跨域问题解决方法
    前言跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。本文将详细介绍关于Spring MVC跨域问题解决的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的...
    99+
    2023-05-31
    spring mvc 跨域问题
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作