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.引入库

代码如下(示例):

c 复制代码
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注解,并设置相应的配置属性

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

总结

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

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

相关推荐
风_流沙3 分钟前
java 对ElasticSearch数据库操作封装工具类(对你是否适用嘞)
java·数据库·elasticsearch
ProtonBase32 分钟前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构
乐之者v38 分钟前
leetCode43.字符串相乘
java·数据结构·算法
suweijie7684 小时前
SpringCloudAlibaba | Sentinel从基础到进阶
java·大数据·sentinel
公贵买其鹿5 小时前
List深拷贝后,数据还是被串改
java
xlsw_8 小时前
java全栈day20--Web后端实战(Mybatis基础2)
java·开发语言·mybatis
神仙别闹9 小时前
基于java的改良版超级玛丽小游戏
java
黄油饼卷咖喱鸡就味增汤拌孜然羊肉炒饭9 小时前
SpringBoot如何实现缓存预热?
java·spring boot·spring·缓存·程序员
暮湫9 小时前
泛型(2)
java
超爱吃士力架9 小时前
邀请逻辑
java·linux·后端