• 1. 什么是跨域
  • 2. 跨域的应用情景
  • 3. 通过注解的方式允许跨域
  • 4. 通过配置文件的方式允许跨域

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即可让整个服务器全局允许跨域。

转载于:https://www.cnblogs.com/cielosun/p/6741307.html

SpringMVC解决跨域的两种方案相关推荐

  1. vue cli3解决跨域的两种方法

    请去下面网站非常清晰:https://www.jianshu.com/p/eb3de95cfc82

  2. vb跨域访问ajax,解决AJAX的跨域访问-两种有效示例

    这篇文章主要为大家详细介绍了解决AJAX的跨域访问-两种有效示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧!新的W3C策略实现了HTTP跨域访问,还 ...

  3. SpringBoot解决跨域的5种方式

    本文来说下SpringBoot中实现跨域的5种方式. 文章目录 什么是跨域 java解决CORS跨域请求的方式 返回新的CorsFilter(全局跨域) 重写WebMvcConfigurer(全局跨域 ...

  4. 什么是同源策略及解决跨域的三种方式

    同源策略 1.1.1 所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个 ip 地址,也非同源.同源策略/SOP(Same origin policy)是一种约 ...

  5. SpringMvc解决跨域问题

    SpringMvc解决跨域问题 参考文章: (1)SpringMvc解决跨域问题 (2)https://www.cnblogs.com/shihaiming/p/9544060.html 备忘一下.

  6. vue开发环境和生产环境里面解决跨域的几种方法

    vue开发环境和生产环境里面解决跨域的几种方法 参考文章: (1)vue开发环境和生产环境里面解决跨域的几种方法 (2)https://www.cnblogs.com/pass245939319/p/ ...

  7. Springboot 解决跨域的四种姿势

    Springboot 解决跨域的四种姿势 姿势一 实现WebMvcConfigurer#addCorsMappings的方法 import org.springframework.context.an ...

  8. CORS解决跨域的几种实现方式

    目录 一.什么是跨域 二.同源策略 非同源限制 三.跨域的解决办法 CORS 3.1.两种请求 3.1.1.简单请求 3.1.2.非简单请求 3.2.CORS常用解决跨域的方法 3.2.1.HttpS ...

  9. 解决跨域的8种最常用方法(附终极通用大招)

    目录 引言 一.JSONP 跨域 二. iframe跨域 2.1 window.name + iframe跨域 2.2 location.hash + iframe跨域 2.3 document.do ...

最新文章

  1. 离线轻量级大数据平台Spark之单机部署及Java开发
  2. 信息系统项目管理师-第二三章:信息系统项目管理基础与立项管理3
  3. An Introduction to Hashing in the Era of Machine Learning
  4. 设计师和开发人员更快完成工作需求的35个惊人的jquery插件教程(下)
  5. 逻辑回归、线性回归直观感受
  6. HashMap和Hashtable的区别--List,Set,Map等接口是否都继承自Map接口--Collection和Collections的区别...
  7. Algorithms Part 1-Question 6- 2SUM Median-数和以及中位数问题
  8. Java多线程学习三:有哪几种实现生产者消费者模式的方法
  9. 计算机系统注册表的由来,计算机系统注册表
  10. mysql 设置域名_mysql 设置域名
  11. 「leetcode」46.全排列【回溯算法】详细图解!
  12. 2020华为软挑总结——baseline
  13. linux-getch函数
  14. Sklearn 中的可用数据集
  15. 摩尔定律即将走向终结?对未来更广阔世界影响的55个预测!
  16. 使用matplotlib.plot绘制随机点位图
  17. 微观平台_不再受到微观管理
  18. 调用百度API(二)——百度翻译
  19. 大话西游java正版_大话西游网易正版电脑版
  20. [运动规划算法]Fast-tracker分析

热门文章

  1. 通过WiFi调试android手机
  2. Oracle 审计文件
  3. jpa postgresql 使用uuid作为主键
  4. 【转】ofbiz数据库表结构设计
  5. Oldboy28期linux决心书
  6. u检验、t检验、F检验、X2检验 (转)
  7. 怒卸python3.4.1
  8. Qt控件注册事件过滤器后不显示
  9. LINUX 下设置系统时间 DATE 命令
  10. Windows系统中安装Python模块pip numpy matplotlib