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

Java利用cors實(shí)現(xiàn)跨域請求實(shí)例

 更新時(shí)間:2017年05月27日 08:17:33   作者:_小凱  
本篇文章主要介紹了Java利用cors實(shí)現(xiàn)跨域請求實(shí)例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

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

 網(wǎng)站開發(fā),在某些情況下需要用到跨域。

什么是跨域?

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

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

常見解決跨域的方式

  1. script標(biāo)簽
  2. iframe
  3. jsonp
  4. 服務(wù)端中轉(zhuǎn)請求
  5. cors

今天的主角cors

全稱:Cross-Origin Resource Sharing

中文意思:跨域資源共享

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

下面就說一下cors在java tomcat下如何配置

首先下載jar包

cors-filter與java-property-utils

<!-- https://mvnrepository.com/artifact/com.thetransactioncompany/cors-filter -->
<dependency>
  <groupId>com.thetransactioncompany</groupId>
  <artifactId>cors-filter</artifactId>
  <version>2.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.thetransactioncompany/java-property-utils -->
<dependency>
  <groupId>com.thetransactioncompany</groupId>
  <artifactId>java-property-utils</artifactId>
  <version>1.10</version>
</dependency>

修改web.xml

增加以下代碼(最好放在其他filter前邊)

<filter>     
  <filter-name>CORS</filter-name> 
  <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class> 
  <init-param> 
   <param-name>cors.allowOrigin</param-name> 
    <param-value>*</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>

jQuery請求示例

$.ajax("url", {
  type: "POST",
  xhrFields: {
    withCredentials: true,
    useDefaultXhrHeader: false
  },
  data: {
    type: "test"
  },
  dataType: 'json',
  crossDomain: true,
  success: function(data, status, xhr) {
   console.log(data);
  }
});

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

相關(guān)文章

  • Spring核心之IOC與bean超詳細(xì)講解

    Spring核心之IOC與bean超詳細(xì)講解

    IOC-Inversion of Control,即控制反轉(zhuǎn)。它不是什么技術(shù),而是一種設(shè)計(jì)思想。這篇文章將為大家介紹一下Spring控制反轉(zhuǎn)IOC的原理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-10-10
  • SpringBoot整合mybatis使用Druid做連接池的方式

    SpringBoot整合mybatis使用Druid做連接池的方式

    這篇文章主要介紹了SpringBoot整合mybatis使用Druid做連接池的方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • springboot之配置雙kafka全過程

    springboot之配置雙kafka全過程

    這篇文章主要介紹了springboot之配置雙kafka全過程,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • java 讀取zip文件的兩種方式示例詳解

    java 讀取zip文件的兩種方式示例詳解

    ZIP(壓縮文件)是一種常見的文件格式,在Java中可以使用java.util.zip包提供的API來讀取和處理ZIP文件,本文將介紹如何使用Java讀取ZIP文件,并提供代碼示例,感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • RocketMQ事務(wù)消息圖文示例講解

    RocketMQ事務(wù)消息圖文示例講解

    RocketMQ事務(wù)消息(Transactional Message)是指應(yīng)用本地事務(wù)和發(fā)送消息操作可以被定義到全局事務(wù)中,要么同時(shí)成功,要么同時(shí)失敗。RocketMQ的事務(wù)消息提供類似 X/Open XA 的分布式事務(wù)功能,通過事務(wù)消息能達(dá)到分布式事務(wù)的最終一致
    2022-12-12
  • java不用循環(huán)語句打印數(shù)組元素的實(shí)例

    java不用循環(huán)語句打印數(shù)組元素的實(shí)例

    下面小編就為大家?guī)硪黄猨ava不用循環(huán)語句打印數(shù)組元素的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • MyBatisPlus超詳細(xì)分析條件查詢

    MyBatisPlus超詳細(xì)分析條件查詢

    這篇文章主要介紹了MyBatisPlus條件查詢的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • SpringCloud Feign高級配置詳解

    SpringCloud Feign高級配置詳解

    這篇文章主要介紹了SpringCloud Feign高級配置,feign是netflix提供的服務(wù)間基于http的rpc調(diào)用框架,在spring cloud得到廣泛應(yīng)用
    2022-09-09
  • java實(shí)現(xiàn)斗地主發(fā)牌系統(tǒng)

    java實(shí)現(xiàn)斗地主發(fā)牌系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)斗地主發(fā)牌系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • SpringMVC項(xiàng)目訪問controller時(shí)候報(bào)404的解決

    SpringMVC項(xiàng)目訪問controller時(shí)候報(bào)404的解決

    這篇文章主要介紹了SpringMVC項(xiàng)目訪問controller時(shí)候報(bào)404的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評論