Spring MVC中自带的跨域问题解决方法
前言
跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。本文将详细介绍关于Spring MVC跨域问题解决的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
问题
使用Spring mvc 开发了一个Restful 接口 供前端调用
@PostMapping("/search") public List<Map> search(@RequestBody QueryParams query)
但前端调用时失败 提示
OPTIONS 403
应该是跨域问题
解决
Spring MVC 已经有很好的解决方案了 直接添加一个注解( @CrossOrigin) 即可解决跨域问题
@CrossOrigin @PostMapping("/search") public List<Map> search(@RequestBody QueryParams query)
没有添加注释时 本地通过Restlet Client请求的返回头
HTTP/1.1 200 Content-Type: application/json;charset=UTF-8 Transfer-Encoding: chunked Date: Thu, 14 Sep 2017 13:02:49 GMT
添加注释后
HTTP/1.1 200 Access-Control-Allow-Origin: chrome-extension://aejoelaoggembcahagimdiliamlcdmfm Vary: Origin Access-Control-Allow-Credentials: true Content-Type: application/json;charset=UTF-8 Transfer-Encoding: chunked Date: Thu, 14 Sep 2017 13:04:26 GMT
参考文档
https://spring.io/blog/2015/06/08/cors-support-in-spring-framework
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
Spring MVC 与 CORS跨域的详细介绍
1. CORS 简介 同源策略(same origin policy)是浏览器安全的基石.在同源策略的限制下,非同源的网站之间不能发送 ajax 请求的. 为了解决这个问题,w3c 提出了跨源资源共享,即 CORS(Cross-Origin Resource Sharing). CORS 做到了两点: 不破坏即有规则 服务器实现了 CORS 接口,就可以跨源通信 基于这两点,CORS 将请求分为两类:简单请求和非简单请求. 1.1 简单请求 可以先看下 CORS 出现前的情况:跨源时能够通过 s
-
详解Spring MVC CORS 跨域
介绍 跨域CORS,全称是"跨域资源共享"(Cross-origin resource sharing) 当页面发出跨域请求时: 1.简单请求(先简单理解为正常的get/post吧): 浏览器将请求的地址添加到header的Origin里面发送请求.接下来就看后台如何处理了. 2.非简单请求(姑且简单理解成Content-Type:"application/json"吧): 浏览器会先发个预检请求(preflight),也就是OPTIONS请求.服务器返回是否许可访
-
详解SpringMVC解决跨域的两种方案
1. 什么是跨域 跨域,即跨站HTTP请求(Cross-site HTTP request),指发起请求的资源所在域不同于请求指向资源所在域的HTTP请求. 2. 跨域的应用情景 当使用前后端分离,后端主导的开发方式进行前后端协作开发时,常常有如下情景: 1.后端开发完毕在服务器上进行部署并给前端API文档. 2.前端在本地进行开发并向远程服务器上部署的后端发送请求. 在这种开发过程中,如果前端想要一边开发一边测试接口,就需要使用跨域的方式. 3. 通过注解的方式允许跨域 非常简单,我们可以在C
-
spring MVC cors跨域实现源码解析
名词解释:跨域资源共享(Cross-Origin Resource Sharing) 简单说就是只要协议.IP.http方法任意一个不同就是跨域. spring MVC自4.2开始添加了跨域的支持. 跨域具体的定义请移步mozilla查看 使用案例 spring mvc中跨域使用有3种方式: 在web.xml中配置CorsFilter <filter> <filter-name>cors</filter-name> <filter-class>org.spr
-
Spring MVC中自带的跨域问题解决方法
前言 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制.本文将详细介绍关于Spring MVC跨域问题解决的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 问题 使用Spring mvc 开发了一个Restful 接口 供前端调用 @PostMapping("/search") public List<Map> search(@RequestBody QueryParams qu
-
Spring MVC 中 短信验证码功能的实现方法
在外部网站中短信的验证很有必要,比如在实现注册.验证用户信息等的情况下.在SpringMVC中的实现如下: 短信接口 短信接口,有些企业会购买的有移动的短信平台接口.如果是个人或者是小企业可以使用一些云服务的.比如百度的API Store上面的. 我使用的是:http://apistore.baidu.com/apiworks/servicedetail/1018.html 当然短信接口肯定都是要付费的,而且是基于模板的,具体的使用说明可以看这个网址里面的使用说明. 前端界面 前端的界面,可能如
-
vue+springboot前后端分离实现单点登录跨域问题解决方法
最近在做一个后台管理系统,前端是用时下火热的vue.js,后台是基于springboot的.因为后台系统没有登录功能,但是公司要求统一登录,登录认证统一使用.net项目组的认证系统.那就意味着做单点登录咯,至于不知道什么是单点登录的同学,建议去找一下万能的度娘. 刚接到这个需求的时候,老夫心里便不屑的认为:区区登录何足挂齿,但是,开发的过程狠狠的打了我一巴掌(火辣辣的一巴掌)...,所以这次必须得好好记录一下这次教训,以免以后再踩这样的坑. 我面临的第一个问题是跨域,浏览器控制台直接报CORS,
-
java 请求跨域问题解决方法实例详解
java 请求跨域问题解决方法实例详解 新建Util类,在Util中添加下面方法: /* * response请求跨域公共设置 */ public static HttpServletResponse SetHttpServletResponse( HttpServletResponse response) { response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader(&qu
-
前端面试必会网络跨域问题解决方法
目录 什么是跨域 跨域解决方法1-代理 跨域解决方法2-JSONP 跨域解决方法3-CORS 概述 简单请求 简单请求的判定 简单请求的交互规范 需要预检的请求 附带身份凭证的请求 一个额外的补充 什么是跨域 浏览器有一个重要的安全策略,称之为「同源策略」 其中,源=协议+主机+端口源=协议+主机+端口源=协议+主机+端口,两个源相同,称之为同源,两个源不同,称之为跨源或跨域 比如: 源 1 源 2 是否同源 www.baidu.com www.baidu.com/news www.baidu.
-
ASP.NET MVC中EasyUI的datagrid跨域调用实现代码
最近项目中需要跨域调用其他项目的数据,其他项目也是使用的EasyUI的datagrid组件,开始以为直接在datagrid的url属性定义为其他项目的url地址即可,可是测试下发现的确是返回了json数据但是json数据提示"invalid label" 错误,网上搜索了下错误解决办法,参考 "JavaScript处理Json的invalid label错误解决办法"的方法利用datagrid的loadData方法加载并转换了json还是提示上述错误,感觉原因不在格
-
spring mvc中@PathVariable / 带斜杠方式获取
目录 spring mvc @PathVariable / 带斜杠方式获取 实例 springMVC @PathVariable中间带/问题处理 问题 解决思路 spring mvc @PathVariable / 带斜杠方式获取 遇上这个问题,百度google了一下,抄袭里面的内容,可以实现,在此备忘 实例 @RequestMapping(value = "/download/{value1}/**", method = RequestMethod.GET) public void
-
Spring MVC中处理ajax请求的跨域问题与注意事项详解
前言 有时候前后台做数据交互,会遇到烦人的跨域请求问题,如果你还是一枚编程小白来说,无疑来说是很痛苦的事. 当然网上也肯定会有一些解决方法.但自身实力有限,不一定会看的懂,能把问题解决了.所以下面这篇文章就来给大家总结介绍在Spring MVC中处理ajax请求的跨域问题与一些注意事项,话不多说了,来一起看看详细的介绍吧. 为何跨域 简单的说即为浏览器限制访问A站点下的js代码对B站点下的url进行ajax请求.假如当前域名是www.abc.com,那么在当前环境中运行的js代码,出于安全考虑
-
Spring Boot Web应用开发 CORS 跨域请求支持
一.Web开发经常会遇到跨域问题,解决方案有:jsonp,iframe,CORS等等 CORS与JSONP相比 1. JSONP只能实现GET请求,而CORS支持所有类型的HTTP请求. 2. 使用CORS,开发者可以使用普通的XMLHttpRequest发起请求和获得数据,比起JSONP有更好的错误处理. 3. JSONP主要被老的浏览器支持,它们往往不支持CORS,而绝大多数现代浏览器都已经支持了CORS 浏览器支持情况 Chrome 3+ Firefox 3.5+ Opera 12+ Sa
-
Spring Security使用中Preflight请求和跨域问题详解
Spring Security Spring Security是能够为J2EE项目提供综合性的安全访问控制解决方案的安全框架.它依赖于Servlet过滤器.这些过滤器拦截进入请求,并且在应用程序处理该请求之前进行某些安全处理. Spring Security对用户请求的拦截过程如下: 背景 在一个前后端分离开发的项目中,使用SpringSecurity做安全框架,用JWT来实现权限管理提升RESTful Api的安全性.首先遇到的就是跨域问题,但是在携带jwt请求过程中出现了服务端获取不到jwt
随机推荐
- jQuery图片预加载 等比缩放实现代码
- Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果(推荐)
- python中如何使用正则表达式的集合字符示例
- 在ASP.NET 中实现单点登录
- 遍历echsop的region表形成缓存的程序实例代码
- python字符串替换的2种方法
- Windows下搭建python开发环境详细步骤
- C语言socket编程开发应用示例
- C 语言基础教程(我的C之旅开始了)[二]
- JS 中document.URL 和 windows.location.href 的区别
- php调整gif动画图片尺寸示例代码分享
- DIV+CSS布局中不推荐使用的标签集合Dont Use These Tags
- 生成EAN13标准的条形码的ASP代码实例
- Js实现Base64编码与解码
- Lua中table库函数方法介绍
- 全面解析Hibernate关联操作、查询操作、高级特性、并发处理机制
- JQuery实现文字无缝滚动效果示例代码(Marquee插件)
- jQuery 选择器理解
- javascript中apply、call和bind的使用区别
- 微信企业号验证/发送/接收消息