`

springboot中通过cors协议解决跨域问题

阅读更多

 

对于前后端分离的项目来说,如果前端项目与后端项目部署在两个不同的域下,那么势必会引起跨域问题的出现。

针对跨域问题,我们可能第一个想到的解决方案就是jsonp,并且以前处理跨域问题我基本也是这么处理。

但是jsonp方式也同样有不足,不管是对于前端还是后端来说,写法与我们平常的ajax写法不同,同样后端也需要作出相应的更改。并且,jsonp方式只能通过get请求方式来传递参数,当然也还有其它的不足之处,针对于此,我并没有急着使用jsonp的方式来解决跨域问题,去网上找寻其它方式,也就是本文主要所要讲的,在springboot中通过cors协议解决跨域问题。

 

CORS协议
作者: K_Biao 
链接:http://www.imooc.com/article/7719
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作!

Cors协议

 

H5中的新特性:Cross-Origin Resource Sharing(跨域资源共享)。通过它,我们的开发者(主要指后端开发者)可以决定资源是否能被跨域访问。

cors是一个w3c标准,它允许浏览器(目前ie8以下还不能被支持)像我们不同源的服务器发出xmlHttpRequest请求,我们可以继续使用ajax进行请求访问。

具体关于cors协议的文章 ,可以参考http://www.ruanyifeng.com/blog/2016/04/cors.html 这篇文章,讲的相当不错。

在springboot中如何通过cors协议解决跨域问题

springmvc4.2版本增加了对cors的支持。

目前我所做的项目基本都是springboot进行开发,所以我这里贴下在springboot中的使用。

 

[java] view plain copy
 
  1. @Configuration  
  2. public class MyWebAppConfigurer extends WebMvcConfigurerAdapter{  
  3.   
  4.     @Override  
  5.     public void addCorsMappings(CorsRegistry registry) {  
  6.         registry.addMapping("/**");  
  7.     }  

可以在addMapping中配置我们的路径。/**代表所有路径。

 

当然也可以修改其它属性

 

[java] view plain copy
 
  1. @Configuration  
  2. public class MyWebAppConfigurer extends WebMvcConfigurerAdapter{  
  3.   
  4.     @Override  
  5.     public void addCorsMappings(CorsRegistry registry) {  
  6.            registry.addMapping("/api/**")  
  7.            .allowedOrigins("http://192.168.1.97")  
  8.            .allowedMethods("GET""POST")  
  9.            .allowCredentials(false).maxAge(3600);  
  10.     }  

以上两种,都是针对全局配置,如果你想做到更细致也可以使用@CrossOrigin这个注解在controller类中使用。

 

 

[java] view plain copy
 
  1. @CrossOrigin(origins = "http://192.168.1.97:8080", maxAge = 3600)  
  2. @RequestMapping("rest_index")  
  3. @RestController  
  4. public class IndexController{  

这样就可以指定该controller中所有方法都能处理来自http:19.168.1.97:8080中的请求。

http://blog.csdn.net/u011890101/article/details/74253842

 

分享到:
评论

相关推荐

    springboot中如何通过cors协议解决跨域问题

    为了解决这个问题,W3C提出了CORS(Cross-Origin Resource Sharing,跨域资源共享)标准。Spring Boot作为Java开发Web应用的热门框架,提供了支持CORS的机制,使得后端开发者可以方便地控制资源是否允许跨域访问。 ...

    解决springboot实现跨域session共享问题

    本文将详细讲解如何在Spring Boot应用中解决跨域session共享的问题,并探讨防止SQL注入的相关策略。 首先,让我们理解什么是跨域。跨域是指由于浏览器的同源策略限制,不同域名、协议或端口之间的页面无法直接通信...

    解决 springboot跨域请求问题

    在现代Web应用开发中,前后端...总的来说,解决SpringBoot的跨域问题需要理解同源策略和CORS机制,并根据项目规模和需求选择合适的方法。正确配置后,前后端分离的应用就能顺畅地进行数据交互,提供良好的用户体验。

    SpringBoot 跨域问题的解决方案

    SpringBoot 可以基于 Cors 解决跨域问题,Cors 是一种机制,告诉我们的后台,哪边(origin)来的请求可以访问服务器的数据。全局配置配置实例如下: ```java @Configuration public class CorsConfig implements ...

    SpringMVC CORS跨域测试包

    在现代Web应用程序中,由于前后端分离的设计,跨域问题常常出现,CORS为解决这个问题提供了安全的解决方案。 在SpringMVC框架中,实现CORS功能主要涉及到以下知识点: 1. **CORS原理**:CORS是通过浏览器和服务器...

    Springboot跨域CORS处理实现原理

    本文主要介绍了 Springboot 跨域 CORS 处理实现原理,通过示例代码详细讲解了跨域问题产生、解决方案和实现原理,对大家的学习或者工作具有一定的参考学习价值。 一、源(Origin) 在 HTTP 协议中,每个 URL 由三...

    SpringBoot跨域Jsonp和Cors的方法

    总结,SpringBoot中解决跨域问题可以通过JSONP或CORS。JSONP适用于简单的GET请求和广泛的浏览器支持,而CORS则是更现代、更安全的选择,支持多种HTTP方法和更复杂的跨域场景。在实际项目中,应根据应用的需求和目标...

    Springboot前后端分离项目配置跨域实现过程解析

    在Springboot项目中,我们可以使用`@CrossOrigin`注解或在配置文件中配置CORS来解决跨域问题。下面是一个使用`@CrossOrigin`注解的示例代码: ```java @CrossOrigin(origins = "*", maxAge = 3600) @RestController...

    provider-coustomer-CORS跨域.zip

    标题 "provider-coustomer-CORS跨域.zip" 暗示了这个压缩包包含的项目是关于在Java环境中,特别是SpringBoot框架下处理CORS(Cross-Origin Resource Sharing,跨源资源共享)的问题。CORS是一种机制,它允许Web应用...

    vue+springboot实现项目的CORS跨域请求

    CORS跨域资源共享是解决不同源之间进行资源交换时产生的安全...通过阅读这篇文章,开发者可以掌握在Vue.js与Spring Boot结合的项目中,如何应对并解决跨域请求问题,从而使得前后端分离的应用开发变得更加灵活与高效。

    详解Springboot+React项目跨域访问问题

    总结起来,Springboot+React项目中的跨域问题可以通过CORS过滤器或者前端代理服务器来解决。理解并正确实施这些解决方案,有助于构建安全且高效的前后端分离应用。在实际开发中,应根据项目需求和环境选择合适的方法...

    springboot_跨域_

    本文将深入探讨如何在SpringBoot应用中解决跨域问题。 一、理解跨域 跨域是由浏览器的同源策略(Same-origin Policy)引发的问题,同源策略规定,JavaScript只能访问与当前页面同协议、同域名、同端口的资源。如果...

    SpringBoot应用跨域访问解决方案.docx

    针对跨域问题,有多种解决方案,主要分为前端解决方案、使用代理服务器和CORS(跨域资源共享)三种类型。 ##### 2.1 前端解决方案 - **HTML资源标签**:`<script>`、`<link>`、`<img>` 和 `<iframe>` 标签不受同源...

    关于跨域以及SpringBoot的解决方案.docx

    ### 关于跨域以及SpringBoot的解决方案 #### 一、同源策略与跨域概念 在探讨跨域问题之前,我们首先需要理解“同源...通过这种方式,开发者可以在SpringBoot应用中轻松地解决跨域问题,提高应用的灵活性和安全性。

    springboot跨域CORS处理代码解析

    Spring Boot 跨域 CORS 处理是指在不同源之间共享资源时,如何解决浏览器的同源策略限制的问题。同源策略是浏览器的一种安全机制,禁止非同源访问,以防止恶意脚本攻击。为了解决这个问题,W3C 提出了 CORS(Cross-...

    springboot 跨域请求

    Spring Boot提供了多种方式来实现跨域支持,其中最常用的是通过CORS(Cross-Origin Resource Sharing,跨源资源共享)机制。下面我们将详细探讨如何在Spring Boot中配置CORS,以及它与MyBatis框架的集成。 首先,...

    单点登陆实现(完全跨域、单点退出)

    通过设置CORS(Cross-Origin Resource Sharing)或者使用JSONP(JSON with Padding)等技术,我们可以实现完全跨域,允许来自不同源的请求访问SSO服务,确保用户在任何地方都能享受到统一的登录体验。 6. **单点...

    springboot+jsonp解决前端跨域问题小结

    跨域资源共享(CORS)是现代Web开发中经常遇到的问题,主要是因为浏览器的安全策略同源策略所导致。同源策略要求Web应用中的文档、脚本或CSS只能在来自同一来源时互相访问。这里的“同一来源”包括三个要素:协议...

    解决前后端分离 vue+springboot 跨域 session+cookie失效问题

    综上所述,解决Vue+Spring Boot跨域和Session失效问题的关键在于配置CORS策略以允许携带Cookie的跨域请求,并确保Session配置正确。同时,考虑采用Token认证机制,如JWT,以实现更灵活的认证和授权管理。

Global site tag (gtag.js) - Google Analytics