SpringMVC注解@CrossOrigin解决跨域问题
一般的,只要网站的【协议名protocol】、【主机host】、【端口号port】这三个中的任意一个不同,网站间的数据请求与传输便构成了跨域调用
跨域:浏览同源策略的造成,是浏览器对JavaScript施加的安全限制
CORS是一种可以解决跨域问题的技术
SprinMVC通过@CrossOrigin注解解决跨域
在Spring MVC
4.2
之后推出了@CrossOrigin
注解来解决跨域问题,而在4.2之前我们都是通过定义注册过滤器
的方式来解决跨域问题的
@CrossOrigin的参数:
1、origins:允许可访问的域列表;*表示可以是任何来源
2、maxAge:准备响应前的缓存持续的最大时间(单位:秒)
@CrossOrigin使用在Controller层:
1、类上,此类中所有方法启用跨域支持
// 开启跨域支持
@CrossOrigin
@RestController
@RequestMapping("/user")
public class UserController {}
2、方法上,仅此方法启用跨域支持
// 开启跨域支持
@CrossOrigin
@RequestMapping(value = "/findAll", method = RequestMethod.GET)
public List<User> findAll(){return userService.findAll();
}
注意
1、注解失效问题:此时Controlle的方法上@RequestMapping
注解中需要声明请求方式
即增加method=RequestMethod.XXX
2、添加注解后session失效问题:此时对的ajax请求中需要添加xhrFields:{withCredentials:true}
(每个ajax中都需要加此属性,以保证session一致)
$.ajax({type: "post",url: '/user/login',xhrFields: {withCredentials: true},data: {username: username,password: password},success: function (msg) {console.log('登录成功');},error: function (msg) {console.log('请求报错!');}
})
SpringMVC注解@CrossOrigin解决跨域问题相关推荐
- 注解@CrossOrigin解决跨域问题
注解@CrossOrigin 出于安全原因,浏览器禁止Ajax调用驻留在当前原点之外的资源.例如,当你在一个标签中检查你的银行账户时,你可以在另一个选项卡上拥有EVILL网站.来自EVILL的脚本不能 ...
- SpringMVC使用@CrossOrigin解决跨域无效问题的解决方案
今天开始做前后端分离,遇到的坑不少,首先就是跨域问题. springMVC4.X以上版本可以通过在接口方法加@CrossOrigin的方法来解决跨域问题,但是加上之后居然没反应!!!!! 于是就开始在 ...
- @CrossOrigin(origins = *,maxAge = 3600)解决跨域的问题的注解
IT行业可加我微信互相进步:17625089935 注解@CrossOrigin解决跨域问题 其中 origins:是允许访问的列表(origins="网址") maxAge:准备 ...
- java 跨域_springboot解决跨域CROS问题,用注解@CrossOrigin
项目是springboot框架,前后端分离,需要跨域,当前前端可以用JSONP解决,但是java端如何解决呢? 因为是springboot框架,所以好多都可以用注解解决问题,所以就用到了@CrossO ...
- springboot解决跨域CROS问题,用注解@CrossOrigin
项目是springboot框架,前后端分离,需要跨域,当前前端可以用JSONP解决,但是java端如何解决呢? 因为是springboot框架,所以好多都可以用注解解决问题,所以就用到了@CrossO ...
- SpringMvc解决跨域问题
SpringMvc解决跨域问题 参考文章: (1)SpringMvc解决跨域问题 (2)https://www.cnblogs.com/shihaiming/p/9544060.html 备忘一下.
- Spring @CrossOrigin 通配符 解决跨域问题
@CrossOrigin 通配符 解决跨域问题 痛点: 对很多api接口需要 开放H5 Ajax跨域请求支持 由于环境多套域名不同,而CrossOrigin 原生只支持* 或者具体域名的跨域支持 所以 ...
- SpringBoot解决跨域的5种方式
本文来说下SpringBoot中实现跨域的5种方式. 文章目录 什么是跨域 java解决CORS跨域请求的方式 返回新的CorsFilter(全局跨域) 重写WebMvcConfigurer(全局跨域 ...
- CORS解决跨域的几种实现方式
目录 一.什么是跨域 二.同源策略 非同源限制 三.跨域的解决办法 CORS 3.1.两种请求 3.1.1.简单请求 3.1.2.非简单请求 3.2.CORS常用解决跨域的方法 3.2.1.HttpS ...
最新文章
- 如何快速get到AI工程师面试重点,这12道题必备!
- Convert Sorted Array to Binary Search Tree - LeetCode
- java实现套接字网络编程_Java网络编程(一)Socket套接字
- x1c 2017 安装mint18的坑——grub2
- 华为推出地图服务 助力开发者强化地图能力
- Linux基金会呼吁厂商放弃微软FAT文件系统
- 案例4-3 朋友圈 (25 分)(并查集)
- 使用Mesos和Marathon管理Docker集群
- 【JeecgBoot】关于 jeecg-boot 的项目理解、使用心得和改进建议
- 安卓后门工具:backdoor-apk 教程
- 《考研-数据结构-哈弗曼树-已知某段通信报文内容,对该报文进行哈弗曼编码,并计算平均码长》
- [数据安全]数据防泄密建设
- 20.古体诗的平仄与三字脚
- 电脑损坏,电脑文件损坏无法开机怎么办
- Word格式处理控件Aspose.Words for .NET水印处理教程——如何添加和删除水印
- 带你全方位了解考研初试!
- 软件开发搞定计算机组成原理:计算篇
- vba中如何使用函数counta
- httplib2的安装
- Rose Data Modeler与数据库的建模