@CrossOrigin注解解决跨域问题

  • 首先,springMVC的版本要在4.2或以上版本才支持@CrossOrigin

  • 关于跨域的几种解决方案:

  • 通过jsonp跨域:
    JSONP实现跨域请求的原理简单的说,就是动态创建< script>标签,然后利用< script>的src不受同源策略约束来跨域获取数据

  • 使用代理服务器:
    使用代理方式跨域更加直接,因为同源限制是浏览器实现的。如果请求不是从浏览器发起的,就不存在跨域问题了。

  • CORS,即跨域资源共享
    需要浏览器和服务器同时支持,目前,所有浏览器都支持该功能。因此,实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨源通信。重点关注header中的Origin和Access-Control-Allow-Origin两个字段。

  • @CrossOrigin中的2个参数
    ​ origins : 允许可访问的域列表
    ​ maxAge:准备响应前的缓存持续的最大时间(以秒为单位)

  • spring注解@CrossOrigin不起作用的原因:
    1.是springMVC的版本要在4.2或以上版本才支持@CrossOrigin
    2.在Controller注解上方添加@CrossOrigin注解后,仍然出现跨域问题,解决方案之一就是:在@RequestMapping注解中没有指定Get、Post方式,具体指定后,问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值