欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java開發(fā)中解決Js的跨域問題過程解析

 更新時間:2019年11月14日 08:25:00   作者:小魚吃貓  
這篇文章主要介紹了Java開發(fā)中解決Js的跨域問題過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

這篇文章主要介紹了Java開發(fā)中解決Js的跨域問題過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

主流方法有JSONP和CORS兩種,這里記一下后者的方式,理論基礎(chǔ)就是在請求的時候在http請求頭中添加如下屬性:

//指定允許其他域名訪問
Access-Control-Allow-Origin:http://localhost:8989

如果后端用Java開發(fā),在返回請求中可以添加如下屬性

1.在跨域問題中,如果不操作cookie,只需要在后端代碼中添加如下代碼就可以

response.setHeader("Access-Control-Allow-Origin", "http://localhost:8989");
//第二個參數(shù)的意思就是說是哪個地址訪問,如果要通配全部,就使用*即可

雖然是加在了response中,但是HTTP是基于TCP(傳輸層協(xié)議)的應(yīng)用層協(xié)議,每次請求的時候都會有“三次握手”的過程,所以添加在response中后,會在第一次請求中告知客戶端可以請求。

如果是SpringMVC4.2以上版本的話,一個注解就可以搞定

@CrossOrigin(origins=http://localhost:8080)

這個注解就是對上邊的代碼的封裝,源碼如下:

@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface CrossOrigin {
  @Deprecated
  String[] DEFAULT_ORIGINS = new String[]{"*"};
  @Deprecated
  String[] DEFAULT_ALLOWED_HEADERS = new String[]{"*"};
  @Deprecated
  boolean DEFAULT_ALLOW_CREDENTIALS = false;
  @Deprecated
  long DEFAULT_MAX_AGE = 1800L;

  @AliasFor("origins")
  String[] value() default {};

  @AliasFor("value")
  String[] origins() default {};

  String[] allowedHeaders() default {};

  String[] exposedHeaders() default {};

  RequestMethod[] methods() default {};

  String allowCredentials() default "";

  long maxAge() default -1L;
}

@Deprecated:若某類或某方法加上該注解之后,表示此方法或類不再建議使用,調(diào)用時也會出現(xiàn)刪除線,但并不代表不能用,只是說,不推薦使用,因為還有更好的方法可以調(diào)用。

2.如果跨域請求中涉及了對cookie的操作,就要添加一個屬性,代碼和注解分別為

response.setHeader("Access-Control-Allow-Origin", "http://localhost:8989");
response.setHeader("Access-Control-Allow-Credentials", "true");
@CrossOrigin(origins="http://localhost:8989",allowCredentials="true")

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

相關(guān)文章

  • MyBatis-Plus如何最優(yōu)雅最簡潔地完成數(shù)據(jù)庫操作

    MyBatis-Plus如何最優(yōu)雅最簡潔地完成數(shù)據(jù)庫操作

    Mybatis-Plus是一個?Mybatis?的增強工具,在?Mybatis?的基礎(chǔ)上只做增強不做改變,為簡化開發(fā)、提高效率而生,下面這篇文章主要給大家介紹了關(guān)于MyBatis-Plus如何最優(yōu)雅最簡潔地完成數(shù)據(jù)庫操作的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • java爬取并下載酷狗TOP500歌曲的方法

    java爬取并下載酷狗TOP500歌曲的方法

    這篇文章主要介紹了java爬取并下載酷狗TOP500歌曲的方法,非常具有實用價值,需要的朋友可以參考下
    2019-01-01
  • 聊聊Java三種常見的分布式鎖

    聊聊Java三種常見的分布式鎖

    目前分布式鎖的實現(xiàn)方案主要包括三種,本文就來介紹一下這三種常見的分布式鎖以及這三種鎖的性能等,具有一定的參考價值,感興趣的可以了解一下
    2023-06-06
  • Java多線程下解決數(shù)據(jù)安全問題

    Java多線程下解決數(shù)據(jù)安全問題

    這篇文章主要介紹了Java多線程下解決數(shù)據(jù)安全問題,本文使用代碼進(jìn)行講解,可供大家學(xué)習(xí)參考
    2021-08-08
  • netty中pipeline異常事件分析

    netty中pipeline異常事件分析

    這篇文章主要為大家介紹了netty中pipeline異常事件分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • SpringBoot http post請求數(shù)據(jù)大小設(shè)置操作

    SpringBoot http post請求數(shù)據(jù)大小設(shè)置操作

    這篇文章主要介紹了SpringBoot http post請求數(shù)據(jù)大小設(shè)置操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Mybatis如何使用正則模糊匹配多個數(shù)據(jù)

    Mybatis如何使用正則模糊匹配多個數(shù)據(jù)

    這篇文章主要介紹了Mybatis如何使用正則模糊匹配多個數(shù)據(jù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Admin - SpringBoot + Maven 多啟動環(huán)境配置實例詳解

    Admin - SpringBoot + Maven 多啟動環(huán)境配置實例詳解

    這篇文章主要介紹了Admin - SpringBoot + Maven 多啟動環(huán)境配置,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Java利用配置重試策略解決超時問題

    Java利用配置重試策略解決超時問題

    在web應(yīng)用中,由于網(wǎng)絡(luò)原因或其他不可預(yù)測的原因,應(yīng)用間會出現(xiàn)調(diào)用失敗的情形,通過配置重試策略可以有效解決外在原因?qū)е碌南到y(tǒng)故障。本文就來詳細(xì)說說如何利用配置重試策略解決超時問題
    2022-10-10
  • 詳談@Cacheable不起作用的原因:bean未序列化問題

    詳談@Cacheable不起作用的原因:bean未序列化問題

    這篇文章主要介紹了@Cacheable不起作用的原因:bean未序列化問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01

最新評論