亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring Boot設(shè)置支持跨域請(qǐng)求過(guò)程詳解

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

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

一般前端的解決方案有:

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

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

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

第一,配置 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);
  }
}

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

第二,在啟動(dòng)類(lèi)上添加:

public class Application extends WebMvcConfigurerAdapter { 

  @Override 
  public void addCorsMappings(CorsRegistry registry) { 

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

  } 
} 

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • IDEA如何添加配置文件到classpath中

    IDEA如何添加配置文件到classpath中

    這篇文章主要介紹了IDEA如何添加配置文件到classpath中,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Java的WeakHashMap源碼解析及使用場(chǎng)景詳解

    Java的WeakHashMap源碼解析及使用場(chǎng)景詳解

    這篇文章主要介紹了Java的WeakHashMap源碼解析及使用場(chǎng)景詳解,Map本身生命周期很長(zhǎng),需要長(zhǎng)期貯留內(nèi)存中,但Map中的Entry可以刪除,使用時(shí)可以從其它地方再次取得,需要的朋友可以參考下
    2023-09-09
  • Spring中使用自定義ThreadLocal存儲(chǔ)導(dǎo)致的坑及解決

    Spring中使用自定義ThreadLocal存儲(chǔ)導(dǎo)致的坑及解決

    這篇文章主要介紹了Spring中使用自定義ThreadLocal存儲(chǔ)導(dǎo)致的坑及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 一文詳解Java中的注解(Annotation)

    一文詳解Java中的注解(Annotation)

    在Java中注解(Annotation)引入始于Java5,用來(lái)描述Java代碼的元信息,通常情況下注解不會(huì)直接影響代碼的執(zhí)行,盡管有些注解可以用來(lái)做到影響代碼執(zhí)行,這篇文章主要給大家介紹了關(guān)于Java中注解(Annotation)的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • Java中的二維數(shù)組的賦值與輸出方式

    Java中的二維數(shù)組的賦值與輸出方式

    這篇文章主要介紹了Java中的二維數(shù)組的賦值與輸出方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Java 線(xiàn)程池ExecutorService詳解及實(shí)例代碼

    Java 線(xiàn)程池ExecutorService詳解及實(shí)例代碼

    這篇文章主要介紹了Java 線(xiàn)程池ExecutorService詳解及實(shí)例代碼的相關(guān)資料,線(xiàn)程池減少在創(chuàng)建和銷(xiāo)毀線(xiàn)程上所花的時(shí)間以及系統(tǒng)資源的開(kāi)銷(xiāo).如果不使用線(xiàn)程池,有可能造成系統(tǒng)創(chuàng)建大量線(xiàn)程而導(dǎo)致消耗系統(tǒng)內(nèi)存以及”過(guò)度切換“
    2016-11-11
  • Java簡(jiǎn)單獲取字符串像素的方法

    Java簡(jiǎn)單獲取字符串像素的方法

    這篇文章主要介紹了Java簡(jiǎn)單獲取字符串像素的方法,涉及Java針對(duì)字符串字體操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • 新手了解java 數(shù)組基礎(chǔ)知識(shí)

    新手了解java 數(shù)組基礎(chǔ)知識(shí)

    這篇文章主要介紹了Java 數(shù)組分析及簡(jiǎn)單實(shí)例的相關(guān)資料,在Java中它就是對(duì)象,一個(gè)比較特殊的對(duì)象,需要的朋友可以參考下,希望可以對(duì)你有所幫助
    2021-07-07
  • 詳解Java中NullPointerException異常的原因和解決辦法

    詳解Java中NullPointerException異常的原因和解決辦法

    本文主要介紹了詳解Java中NullPointerException異常的原因和解決辦法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • java數(shù)據(jù)結(jié)構(gòu)之插入排序

    java數(shù)據(jù)結(jié)構(gòu)之插入排序

    這篇文章主要為大家詳細(xì)介紹了java數(shù)據(jù)結(jié)構(gòu)之插入排序的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11

最新評(píng)論