SpringMVC之跨域请求

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
SpringMVC之跨域请求


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

在互联网应用中,跨域请求是一个常见的问题。当一个网页向另一个不同域名的服务器发送请求时,就会触发跨域请求。由于浏览器的同源策略限制,这种请求可能会被禁止,从而导致无法正常获取数据或执行其他操作。
在 SpringMVC 框架中,处理跨域请求可以通过@CrossOrigin来实现跨域。@CrossOrigin是 Spring Framework 4.2 引入的一个注解,用于标识某个类、接口或方法允许跨域请求。当在类或方法上添加@CrossOrigin注解时,Spring 将自动为该类或方法生成相应的CORS配置。
通过学习和理解 SpringMVC 中的跨域请求处理机制,开发者可以更好地解决跨域问题,提高应用的兼容性和扩展性。
在接下来的博客文章中,我将详细介绍 SpringMVC 中跨域请求的处理方法、配置步骤以及一些常见问题的解决方案。希望这些内容能够帮助你更好地理解和应对跨域请求问题。
感谢你的阅读,期待与你分享更多关于 SpringMVC 和跨域请求的知识!


提示:以下是本篇文章正文内容,下面案例可供参考

一、什么是同源策略?

同源策略(Same origin policy)是浏览器的一种安全策略,用于隔离不同网站之间的资源,防止不同网站之间的资源滥用。它是由Netscape提出的一个著名的安全策略,现在所有支持JavaScript的浏览器都会使用这个策略。
同源指的是协议、域名、端口都相同。同源策略的作用是防止其他网页对本网页的非法篡改,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。

不受同源策略限制
不受同源策略限制。

二、跨域请求

跨域请求是指一个网页向另一个不同域名或不同协议的服务器发送请求的行为。
浏览器在发起网络请求的时候,会首先检查该请求所对应的协议、域名、端口和当前发起请求的网页是否一致。如果不一致,则会被视为跨域请求。由于同源策略的限制,浏览器可能会禁止跨域请求,从而导致无法正常获取数据或执行其他操作。

当前页面URL被请求页面URL
http://www.longfei.com/http://www.longfei.com/index.html
http://www.longfei.com/https://www.longfei.com/
http://www.longfei.com/http://www.zhangsan.com/
http://www.longfei.com/http://ioqu.longfei.com/
http://www.longfei.com/8888/http://www.longfei.com/9999/
  1. 不跨域
  2. 跨域,因为协议不同
  3. 跨域,主域名不同
  4. 跨域,子域名不同
  5. 跨域,端口不同

1.引入库

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

三、后端解决跨域

在控制器方法上添加@CrossOrigin注解,并设置相应的配置属性

@RequestMapping("/m3")
@ResponseBody
// 如果请求从http://localhost:8080发出,则允许跨域访问
@CrossOrigin("http://localhost:8080")
public String m3(){
  System.out.println("测试跨域请求");
  return "success";
}


总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了同源策略,跨域请求,并通过@CrossOrigin注解来解决跨域请求。

  • 24
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring MVC 中配置跨域请求可以通过添加相关的配置来实现。以下是一种常见的配置方式: 1. 创建一个类并标注为 `@Configuration`,用于配置跨域请求: ```java @Configuration public class CorsConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("*") // 允许所有来源 .allowedMethods("GET", "POST", "PUT", "DELETE") // 允许的请求方法 .allowedHeaders("*") // 允许的请求头 .allowCredentials(true) // 是否允许发送 Cookie .maxAge(3600); // 预检请求的有效期,单位为秒 } } ``` 2. 上述配置中,`addMapping("/**")` 表示允许所有的请求路径进行跨域访问,你可以根据实际需求进行修改。 3. `allowedOrigins("*")` 允许所有来源的请求进行跨域访问,你也可以指定具体的来源。 4. `allowedMethods()` 方法用于指定允许的请求方法,你可以根据需要添加或删除相应的方法。 5. `allowedHeaders("*")` 表示允许所有请求头进行跨域访问,你也可以指定具体的请求头。 6. `allowCredentials(true)` 表示允许发送 Cookie 进行跨域访问,如果不需要发送 Cookie,可以将其设置为 `false`。 7. `maxAge(3600)` 表示预检请求的有效期,单位为秒。 通过以上配置,你就可以实现在 Spring MVC 中处理跨域请求了。请注意,这只是一种常见的配置方式,你可以根据具体需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值