对于前后端分离的项目,前端跟后端分别部署在2个不同的服务中,势必会出现跨域问题,这个跨域的解决方案就成为每个开发者都必须掌握的一种技能了。而且这个跨域的处理方案还是那么的简单,有效,每个Java后端开发者都必须抽1分钟的时间去了解一下。小高整理一下常用的跨域解决方案:

  • 全局配置类

  • 注解

1、全局配置类

@SpringBootConfigurationpublic class CorsConfig implements WebMvcConfigurer {    @Override    public void addCorsMappings(CorsRegistry registry) {        registry.addMapping("/api/*");    }}

优点:简单、全局配置,一次配置,处处生效

缺点:不够灵活,如果在多个模块项目中有部分不支持跨域的,需要特殊处理

2、注解配置

  • @CrossOrigin 配置在 controller的类上,代表这个注解对整个类的所有的 Mapping 生效

  • @CrossOrigin 配置在某个Mapping 上,代表改注解仅对某个Mapping生效。

@CrossOrigin的其他参数(过滤):

  • origins :针对哪些源URL生效;默认值为:*

  • allowedHeaders : 对制定的请求头生效

  • exposedHeaders :返回到response的请求头信息

  • methods :作用在类上时候,哪些mapping方法生效

  • maxAge :  访问的有效时间,默认-1;

例子:

优点:灵活,开发者可以按需配置,还可以根据注解提供的参数,添加过滤条件,做到精准解决跨域,防止攻击。

缺点:每一个类都需要开发自己判断,开发人员必须对业务很比较属悉才行,每次修改都需重构

crossorigin注解添加了解决不了跨域问题_springboot 处理跨域的2种方式相关推荐

  1. 在java里如何跨网页传参_【页面传值6种方式】- 【JSP 页面传值方法总结:4种】 - 【跨页面传值的几种简单方式3种】...

    JSP 页面间传递参数是项目中经常需要的,这应该算是 web 基本功吧. 试着将各种方式总结下来,需要时可以进行权衡利弊选择最合适的方式. 1. URL 链接后追加参数 URL 后面追加参数 resp ...

  2. springboot项目解决跨域的几种方式

    跨域资源共享(CORS):通过修改Http协议header的方式,实现跨域.说的简单点就是,通过设置HTTP的响应头信息,告知浏览器哪些情况在不符合同源策略的条件下也可以跨域访问,浏览器通过解析Htt ...

  3. @Import注解:导入配置类的四种方式源码解析

    微信搜索:码农StayUp 主页地址:https://gozhuyinglong.github.io 源码分享:https://github.com/gozhuyinglong/blog-demos ...

  4. Spring框架:跨域问题之使用@CrossOrigin注解解决失败的原因总结

    问题描述:跨域问题 解决方案: 在Spring框架4.2版本后,Spring给出了注解的方式解决问题. 即在Controller控制器中,在Controller注解上方添加@CrossOrigin注解 ...

  5. CrossOrigin注解的方式实现接口的跨域访问

    springMVC接口实现跨域访问: springMVC框架通过@CrossOrigin注解的方式实现接口的跨域访问 java示例代码: package com.jmst.httpservice; i ...

  6. 解决跨域问题@CrossOrigin注解的使用与CrossFilter对象的自定义

    一.跨域概念解析(@CrossOrigin) 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器施加的安全限制. 所谓同源是指,域名,协议,端口均相同,不明白没关系,举个 ...

  7. 继承WebMvcConfigurer 和 WebMvcConfigurerAdapter类依然CORS报错? springboot 两种方式稳定解决跨域问题

    继承WebMvcConfigurer 和 WebMvcConfigurerAdapter类依然CORS报错???springboot 两种方式稳定解决跨域问题! 之前我写了一篇文章,来解决CORS报错 ...

  8. Spring Boot 中实现跨域的 5 种方式,你一定要知道!

    点击关注公众号,Java干货及时送达 作者:ratelfu 来源:blog.csdn.net/weter_drop/article/details/112135940 一.为什么会出现跨域问题 出于浏 ...

  9. Spring Boot中实现跨域的五种方式

    一.为什么会出现跨域问题 出于浏览器的同源策略限制.同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响. ...

最新文章

  1. React路上遇到的Bug
  2. [《孔雀》观后]聪明的孩子提着易碎的灯笼
  3. jquery实现表格的多行删除
  4. bmp文件数字水印c语言,[求助]C语言 bmp文件加上水印
  5. HYSTRIX实现主线程和子线程的THREADLOCAL上下文传递
  6. C的无符号数据类型int,short,byte 转为 Java对应的数据long,char,short
  7. 学习笔记~~~~~TreeMap
  8. P4015 运输问题
  9. JavaScript脚本语言介绍并实现第一个Hello World程序
  10. stream场景用法总结
  11. java doget 和dopost_Servlet中的doGet和doPost
  12. 学MFC的九九八十一难
  13. dom4j解析XML文件,通过属性查找节点,出现异常
  14. SVN Server修改端口与SVN修改版本库URL
  15. CAJViewer的下载与使用
  16. Python基础知识从hello world 开始(第三天)
  17. 机器学习相关职位走向
  18. 一张表了解四大物联网通信技术差异:NB-IoT 、LTEeMTC、LoRa与SigFox
  19. 贼有趣:朱茵变杨幂,人工智能换脸让明星不再担心自己演技?
  20. Andriod studio 学习 之打包

热门文章

  1. Tomcat系列(5)——Tomcat配置详细部分
  2. JAVA实现ATM源代码及感想
  3. 实验二 软件工程个人项目
  4. Jquery各种前台效果JQ
  5. Java Web模块——验证码模块
  6. GCD异步加载网络图片
  7. js创建对象的几种常用方式小结(推荐)
  8. 支持drupal的空间
  9. 動態設定GridView的列寬
  10. PHP 异常处理 throw new exception