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

Javaweb使用cors完成跨域ajax數(shù)據(jù)交互

 更新時(shí)間:2017年09月19日 15:32:48   作者:nnsword  
本文由跨域、cors的概念開始,進(jìn)而向大家介紹了Javaweb使用cors完成跨域ajax數(shù)據(jù)交互的相關(guān)內(nèi)容,需要的朋友可以了解下。

跨域,指的是瀏覽器不能執(zhí)行其他網(wǎng)站的腳本。它是由瀏覽器的同源策略造成的,是瀏覽器對JavaScript施加的安全限制。

ajax本身實(shí)際上是通過XMLHttpRequest對象來進(jìn)行數(shù)據(jù)的交互,而瀏覽器出于安全考慮,不允許js代碼進(jìn)行跨域操作,所以會(huì)警告。

cors

全稱:Cross-Origin Resource Sharing

中文意思:跨域資源共享

它在維基百科上的定義是:跨域資源共享(CORS )是一種網(wǎng)絡(luò)瀏覽器的技術(shù)規(guī)范,它為Web服務(wù)器定義了一種方式,允許網(wǎng)頁從不同的域訪問其資源。而這種訪問是被同源策略所禁止的。CORS系統(tǒng)定義了一種瀏覽器和服務(wù)器交互的方式來確定是否允許跨域請求。 它是一個(gè)妥協(xié),有更大的靈活性,但比起簡單地允許所有這些的要求來說更加安全。

1、通過Maven引用

cors-filter、<span style="font-family: Arial, Helvetica, sans-serif;">java-property-utils二個(gè)jar包,修改pom.xml文件,加入下面內(nèi)容</span> 

<!-- 跨域問題 --> 
  <dependency> 
  <groupId>com.thetransactioncompany</groupId> 
  <artifactId>cors-filter</artifactId> 
  <version>2.5</version> 
 </dependency> 
 <dependency> 
  <groupId>com.thetransactioncompany</groupId> 
  <artifactId>java-property-utils</artifactId> 
  <version>1.10</version> 
 </dependency>

2、在web.xml里面配置過濾器,使用引入的jar中定義好的過濾器。注意修改cors.allowOrigin節(jié)點(diǎn),如果允許所有站點(diǎn)跨域訪問,可以修改為[*],如果是多個(gè)站點(diǎn),可以用[,]分隔配置。

<!-- 跨域問題 --> 
  <filter> 
  <description>跨域過濾器</description> 
  <filter-name>CORS</filter-name> 
  <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class> 
  <init-param> 
   <param-name>cors.allowOrigin</param-name> 
   <param-value>https://127.0.0.1:8380</param-value> 
  </init-param> 
  <init-param> 
   <param-name>cors.supportedMethods</param-name> 
   <param-value>GET, POST, HEAD, PUT, DELETE</param-value> 
  </init-param> 
  <init-param> 
   <param-name>cors.supportedHeaders</param-name> 
   <param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified</param-value> 
  </init-param> 
  <init-param> 
   <param-name>cors.exposedHeaders</param-name> 
   <param-value>Set-Cookie</param-value> 
  </init-param> 
  <init-param> 
   <param-name>cors.supportsCredentials</param-name> 
   <param-value>true</param-value> 
  </init-param> 
 </filter> 
 <filter-mapping> 
  <filter-name>CORS</filter-name> 
  <url-pattern>/*</url-pattern> 
 </filter-mapping>

3、通過jQuery跨域調(diào)用數(shù)據(jù),實(shí)例代碼如下:

<!DOCTYPE html> 
<html lang="en" xmlns="https://www.w3.org/1999/xhtml"> 
<head> 
 <meta charset="utf-8" /> 
 <title>跨域測試</title> 
 <style type="text/css"> 
  body{ 
   margin:0px auto 0px auto; 
  } 
  .p_container { 
   margin: 0px auto 0px auto; 
   width: 100%; 
   height: 200px; 
  } 
   .p_container > iframe { 
    width: 100%; 
    height: 100%; 
   } 
 </style> 
</head> 
<body> 
 <p> 
 </p> 
 <button id="btn_test">跨域調(diào)用</button> 
 <p id="p_show"></p> 
 <script src="jquery-1.8.3.min.js" type="text/javascript"></script> 
 <script type="text/javascript"> 
  $(function () { 
   $('#btn_test').click(function () { 
    //alert('dddd'); 
    //var iframe_main = $("#iframe_main").contents(); 
    //iframe_main.find("#account").val('test'); 
    $.ajax({ 
     url: "https://10.18.25.119:8480/jxfp/index.jsp", 
     type: "GET", 
     dataType: "text", 
     timeout: 10000, 
     xhr: function () {  //這是關(guān)鍵 獲取原生的xhr對象 做以前做的所有事情 
      var xhr = jQuery.ajaxSettings.xhr(); 
      xhr.withCredentials = true; 
      return xhr; 
     },      
     success: function (data) { 
      $("#p_show").html(data); 
      //Console.log(data); 
     }, 
     error: function (e) { 
      $("#p_show").html(e.statusText); 
     } 
    }); 
   }); 
  }); 
 </script> 
</body> 
</html>

以上就是是小編分享給大家的Javaweb使用cors完成跨域ajax數(shù)據(jù)交互的全部內(nèi)容,希望對大家有所幫助。如果在閱讀過程中有什么問題,可以給小編留言,我會(huì)及時(shí)回復(fù)大家的。也希望大家多多支持腳本之家!

相關(guān)文章

  • Spring5.2.x 源碼本地環(huán)境搭建的方法步驟

    Spring5.2.x 源碼本地環(huán)境搭建的方法步驟

    這篇文章主要介紹了Spring5.2.x 源碼本地環(huán)境搭建的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • JAVA匿名內(nèi)部類(Anonymous Classes)的具體使用

    JAVA匿名內(nèi)部類(Anonymous Classes)的具體使用

    本文主要介紹了JAVA匿名內(nèi)部類,匿名內(nèi)部類在我們JAVA程序員的日常工作中經(jīng)常要用到,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 詳解mybatis批量插入10萬條數(shù)據(jù)的優(yōu)化過程

    詳解mybatis批量插入10萬條數(shù)據(jù)的優(yōu)化過程

    這篇文章主要介紹了詳解mybatis批量插入10萬條數(shù)據(jù)的優(yōu)化過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Java基礎(chǔ)Map集合詳析

    Java基礎(chǔ)Map集合詳析

    這篇文章主要介紹了Java基礎(chǔ)Map集合詳析,主要通過介紹Map集合的常用方法、Map的獲取方法的一些相關(guān)資料展開內(nèi)容,需要的小伙伴可以參考一下
    2022-04-04
  • Java動(dòng)態(tài)循環(huán)隊(duì)列是如何實(shí)現(xiàn)的

    Java動(dòng)態(tài)循環(huán)隊(duì)列是如何實(shí)現(xiàn)的

    今天帶大家學(xué)習(xí)java隊(duì)列的相關(guān)知識,文章圍繞著如何實(shí)現(xiàn)Java動(dòng)態(tài)循環(huán)隊(duì)列展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • MyBatis-plus如何執(zhí)行自定義SQL

    MyBatis-plus如何執(zhí)行自定義SQL

    這篇文章主要介紹了MyBatis-plus如何執(zhí)行自定義SQL問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • SpringBoot項(xiàng)目配置文件注釋亂碼的問題解決方案

    SpringBoot項(xiàng)目配置文件注釋亂碼的問題解決方案

    這篇文章主要介紹了SpringBoot 項(xiàng)目配置文件注釋亂碼的問題解決方案,文中通過圖文結(jié)合的方式給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-07-07
  • SpringBoot整合七牛云上傳圖片的示例代碼

    SpringBoot整合七牛云上傳圖片的示例代碼

    本文就來介紹了SpringBoot整合七牛云上傳圖片的示例代碼,用戶在前端上傳圖片后,交由后端處理,上傳至七牛云,感興趣的可以了解一下
    2023-10-10
  • Java中double和float類型的區(qū)別與使用方法

    Java中double和float類型的區(qū)別與使用方法

    float和double都是用來表示浮點(diǎn)數(shù)的數(shù)據(jù)類型,但是它們之間有一些區(qū)別,這篇文章主要給大家介紹了關(guān)于Java中double和float類型的區(qū)別與使用方法的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • Java解析微信獲取手機(jī)號信息的示例步驟

    Java解析微信獲取手機(jī)號信息的示例步驟

    在微信中,用戶手機(jī)號的獲取通常是通過微信小程序的getPhoneNumber接口來實(shí)現(xiàn)的,下面通過一個(gè)基于Java的示例,展示了如何接收并解密從微信小程序傳遞過來的加密手機(jī)號信息,感興趣的朋友一起看看吧
    2024-06-06

最新評論