专栏首页java工会SpringMvc支持跨域访问,Spring跨域访问@CrossOrigin

SpringMvc支持跨域访问,Spring跨域访问@CrossOrigin

1. 什么是跨域

跨域,即跨站HTTP请求(Cross-site HTTP request),指发起请求的资源所在域不同于请求指向资源所在域的HTTP请求。

2. 跨域的应用情景

当使用前后端分离,后端主导的开发方式进行前后端协作开发时,常常有如下情景:

  1. 后端开发完毕在服务器上进行部署并给前端API文档。
  2. 前端在本地进行开发并向远程服务器上部署的后端发送请求。 在这种开发过程中,如果前端想要一边开发一边测试接口,就需要使用跨域的方式。

3. 通过注解的方式允许跨域

非常简单,我们可以在Controller类或其方法上加@CrossOrigin注解,来使之支持跨域。 举例:

@CrossOrigin(origins = "*", maxAge=3600)
@RestController@RequestMapping("/User")
public class UserController {
}

其中origins为CrossOrigin的默认参数,即跨域来源,*即任何来源,也可以是其他域名。即可以以以下形式:

@CrossOrigin("http://test.com")
@CrossOrigin(origins="http://test.com",maxAge=3600)

该注解用于方法上,写法相同,处理时,SpringMVC会对类上标签和方法上标签进行合并。

4. 通过配置文件的方式允许跨域

在web.xml中添加如下配置:

    <filter-mapping>
        <filter-name>CorsFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

使用这个Filter即可让整个服务器全局允许跨域。

本文分享自微信公众号 - java工会(javagonghui)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-08-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Spring MVC工作原理 及注解说明

    三哥
  • 程序员,你必须知道的四种日志

    日志记录是软件开发中的一个重要主题,特别是当您需要分析生产环境中的bug和其他意外事件时。实现日志记录通常很简单。但正如你可能经历过的,日志要比看起来复杂得多。...

    三哥
  • 每天上班都刷乘车码,你知道这里面有什么高科技吗?

    现在各大城市都推出了刷乘车码坐公共交通,让我们免于携带公交卡,避免忘记带公交卡的尴尬。上班高峰期塞车是正常现象,乘车的人那么多,为什么大家都刷乘车码却不卡呢?试...

    三哥
  • 百度:人脸登录集成

    为人脸登录提供人脸注册集合,基于人脸进行无动作活体检测、及后台在线活体检测算法,判断用户为真人,保障业务环节中的用户真实性判断。

    WindWant
  • ajax跨域,这应该是最全的解决方案了

    从刚接触前端开发起,跨域这个词就一直以很高的频率在身边重复出现,一直到现在,已经调试过N个跨域相关的问题了,16年时也整理过一篇相关文章,但是感觉还是差了点什么...

    前端博客 : alili.tech
  • Python基础知识梳理-第01部分

    在开始Python基础知识梳理前, 先安装下环境. 以下过程是在Linux操作系统, root用户下进行的, 主要安装了2.7版本的python, 和pip, ...

    企鹅号小编
  • 5个炫酷的Python工具,你都用过么?

    工欲善其事必先利其器,一个好的工具能让起到事半功倍的效果,Python社区提供了足够多的优秀工具来帮助开发者更方便的实现某些想法,下面这几个工具给我的工作也带来...

    企鹅号小编
  • MySql 全方位基础优化定位执行效率低的SQL语句存储过程与触发器的区别面试回答数据库优化问题从以下几个层面入手

    JavaEdge
  • 1000行 MySQL 学习笔记,不怕你不会,就怕你不学!

    原文链接:https://shockerli.net/post/1000-line-mysql-note/

    用户2769421
  • 【收藏】一千行 MySQL 学习笔记

    kubernetes中文社区

扫码关注云+社区

领取腾讯云代金券