最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring Boot設置支持跨域請求過程詳解

 更新時間:2020年08月07日 16:08:54   作者:小甜瓜安東泥  
這篇文章主要介紹了Spring Boot設置支持跨域請求過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

現(xiàn)代瀏覽器出于安全的考慮, HTTP 請求時必須遵守同源策略,否則就是跨域的 HTTP 請求,默認情況下是被禁止的,IP(域名)不同、或者端口不同、協(xié)議不同(比如 HTTP、HTTPS)都會造成跨域問題。

一般前端的解決方案有:

  • ① 使用 JSONP 來支持跨域的請求,JSONP 實現(xiàn)跨域請求的原理簡單的說,就是動態(tài)創(chuàng)建<script>標簽,然后利用<script>的 SRC 不受同源策略約束來跨域獲取數(shù)據(jù)。缺點是需要后端配合輸出特定的返回信息。
  • ② 利用反應代理的機制來解決跨域的問題,前端請求的時候先將請求發(fā)送到同源地址的后端,通過后端請求轉發(fā)來避免跨域的訪問。

后來 HTML5 支持了 CORS 協(xié)議。CORS 是一個 W3C 標準,全稱是”跨域資源共享”(Cross-origin resource sharing),允許瀏覽器向跨源服務器,發(fā)出 XMLHttpRequest 請求,從而克服了 AJAX 只能同源使用的限制。它通過服務器增加一個特殊的 Header[Access-Control-Allow-Origin]來告訴客戶端跨域的限制,如果瀏覽器支持 CORS、并且判斷 Origin 通過的話,就會允許 XMLHttpRequest 發(fā)起跨域請求。

前端使用了 CORS 協(xié)議,就需要后端設置支持非同源的請求,Spring Boot 設置支持非同源的請求有兩種方式。

第一,配置 CorsFilter。

@Configuration
public class GlobalCorsConfig {
  @Bean
  public CorsFilter corsFilter() {
    CorsConfiguration config = new CorsConfiguration();
     config.addAllowedOrigin("*");
     config.setAllowCredentials(true);
     config.addAllowedMethod("*");
     config.addAllowedHeader("*");
     config.addExposedHeader("*");

    UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
    configSource.registerCorsConfiguration("/**", config);

    return new CorsFilter(configSource);
  }
}

需要配置上述的一段代碼。第二種方式稍微簡單一些。

第二,在啟動類上添加:

public class Application extends WebMvcConfigurerAdapter { 

  @Override 
  public void addCorsMappings(CorsRegistry registry) { 

    registry.addMapping("/**") 
        .allowCredentials(true) 
        .allowedHeaders("*") 
        .allowedOrigins("*") 
        .allowedMethods("*"); 

  } 
} 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 詳解JAVA Timer和TimerTask

    詳解JAVA Timer和TimerTask

    這篇文章主要介紹了JAVA Timer和TimerTask的相關資料,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • Idea調用WebService的關鍵步驟和注意事項

    Idea調用WebService的關鍵步驟和注意事項

    這篇文章主要介紹了如何在Idea中調用WebService,包括理解WebService的基本概念、獲取WSDL文件、閱讀和理解WSDL文件、選擇對接測試工具或方式、發(fā)送請求和接收響應、處理響應結果以及錯誤處理,需要的朋友可以參考下
    2025-01-01
  • IDEA 中使用 Big Data Tools 連接大數(shù)據(jù)組件

    IDEA 中使用 Big Data Tools 連接大數(shù)據(jù)組件

    本文主要介紹了IDEA 中使用 Big Data Tools 連接大數(shù)據(jù)組件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • Spring MVC文件上傳大小和類型限制以及超大文件上傳bug問題

    Spring MVC文件上傳大小和類型限制以及超大文件上傳bug問題

    這篇文章主要介紹了Spring MVC文件上傳大小和類型限制以及超大文件上傳bug問題,非常具有實用價值,需要的朋友可以參考下
    2017-10-10
  • 淺談spring和spring MVC的區(qū)別與關系

    淺談spring和spring MVC的區(qū)別與關系

    下面小編就為大家?guī)硪黄獪\談spring和spring MVC的區(qū)別與關系。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • IntelliJ?IDEA社區(qū)版2021.3配置SpringBoot項目詳細教程及失敗案例

    IntelliJ?IDEA社區(qū)版2021.3配置SpringBoot項目詳細教程及失敗案例

    IntelliJ?IDEA?2021.3.3是一款集成開發(fā)環(huán)境,用于Java和其他編程語言的開發(fā),下面這篇文章主要給大家介紹了關于IntelliJ?IDEA社區(qū)版2021.3配置SpringBoot項目詳細教程及失敗案例的相關資料,需要的朋友可以參考下
    2024-03-03
  • springboot項目接入天貓精靈語音功能

    springboot項目接入天貓精靈語音功能

    小編最近接手一個項目,涉及到天貓精靈的語音功能,今天小編通過本文給大家分享下springboot項目接入天貓精靈語音功能的詳細過程及實例代碼,感興趣的朋友跟隨小編一起看看吧
    2021-12-12
  • MyBatis-Plus速成指南之簡化你的數(shù)據(jù)庫操作流程(最新推薦)

    MyBatis-Plus速成指南之簡化你的數(shù)據(jù)庫操作流程(最新推薦)

    MyBatis-Plus?是一個?MyBatis?的增強工具,在?MyBatis?的基礎上只做增強不做改變,為簡化開發(fā)、提高效率而生,這篇文章主要介紹了MyBatis-Plus速成指南:簡化你的數(shù)據(jù)庫操作流程,需要的朋友可以參考下
    2025-02-02
  • java == 引發(fā)的線上異常詳解

    java == 引發(fā)的線上異常詳解

    這篇文章主要介紹了java == 引發(fā)的線上異常,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2021-09-09
  • JAVA中單元測試的常用方式(小結)

    JAVA中單元測試的常用方式(小結)

    這篇文章主要介紹了JAVA中單元測試的常用方式(小結),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06

最新評論

白山市| 麦盖提县| 合肥市| 尚义县| 霍邱县| 阳谷县| 栾川县| 沁源县| 大姚县| 毕节市| 项城市| 微博| 郑州市| 塘沽区| 古丈县| 兴隆县| 阳信县| 乌恰县| 文水县| 上思县| 玉门市| 文登市| 尖扎县| 涿州市| 五寨县| 南通市| 浦城县| 望江县| 来安县| 芮城县| 黑山县| 深州市| 黄浦区| 邵武市| 河南省| 英山县| 怀化市| 遂昌县| 利辛县| 凉山| 蒙山县|