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

詳解SpringBoot多跨域請(qǐng)求的支持(JSONP)

 更新時(shí)間:2017年04月11日 09:36:11   作者:木葉之榮  
跨域是很多項(xiàng)目需要遇到的文章,本篇文章主要介紹了詳解SpringBoot多跨域請(qǐng)求的支持(JSONP),具有一定的參考價(jià)值,有興趣的可以了解一下

在我們做項(xiàng)目的過(guò)程中,有可能會(huì)遇到跨域請(qǐng)求,所以需要我們自己組裝支持跨域請(qǐng)求的JSONP數(shù)據(jù),而在4.1版本以后的SpringMVC中,為我們提供了一個(gè)AbstractJsonpResponseBodyAdvice的類用來(lái)支持jsonp的數(shù)據(jù)(SpringBoot接收解析web請(qǐng)求是依賴于SpringMVC實(shí)現(xiàn)的)。下面我們就看一下怎么用AbstractJsonpResponseBodyAdvice來(lái)支持跨域請(qǐng)求。

使用AbstractJsonpResponseBodyAdvice來(lái)支持跨域請(qǐng)求很簡(jiǎn)單,只需要繼承這個(gè)類就可以了。具體代碼如下:

package com.zkn.learnspringboot.config; 
 
import org.springframework.web.bind.annotation.ControllerAdvice; 
import org.springframework.web.servlet.mvc.method.annotation.AbstractJsonpResponseBodyAdvice; 
 
/** 
 * Created by wb-zhangkenan on 2016/12/1. 
 */ 
@ControllerAdvice(basePackages = "com.zkn.learnspringboot.web.controller") 
public class JsonpAdvice extends AbstractJsonpResponseBodyAdvice{ 
 
  public JsonpAdvice() { 
 
    super("callback","jsonp"); 
  } 
} 

下面我們寫個(gè)類來(lái)測(cè)試一下:

package com.zkn.learnspringboot.web.controller; 
 
import com.zkn.learnspringboot.domain.PersonDomain; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.http.MediaType; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RestController; 
 
/** 
 * Created by wb-zhangkenan on 2016/12/1. 
 */ 
@RestController 
@RequestMapping("/jsonp") 
public class JsonpTestController { 
  @Autowired 
  private PersonDomain personDomain; 
 
  @RequestMapping(value = "/testJsonp",produces = MediaType.APPLICATION_JSON_VALUE) 
  public PersonDomain testJsonp(){ 
 
    return personDomain; 
  } 
} 

當(dāng)我們發(fā)送請(qǐng)求為:http://localhost:8003/jsonp/testJsonp的時(shí)候,結(jié)果如下:

當(dāng)我們發(fā)送的請(qǐng)求為:http://localhost:8003/jsonp/testJsonp?callback=callback的時(shí)候,結(jié)果如下所示:

看到區(qū)別了嗎?當(dāng)我們?cè)谡?qǐng)求參數(shù)中添加callback參數(shù)的時(shí)候,返回的數(shù)據(jù)就是jsonp的,當(dāng)我們請(qǐng)求參數(shù)中不帶callback的時(shí)候,返回的數(shù)據(jù)是json的??梢宰屛覀兎奖愕撵`活運(yùn)用。下面再奉上一個(gè)jsonp的完整案例。

前臺(tái)頁(yè)面:

<%@ page contentType="text/html;charset=UTF-8" language="java" %> 
<html> 
<head> 
  <title>Title</title> 
  <script src="resources/js/jquery-2.1.4.min.js" type="text/javascript"></script> 
</head> 
<body> 
<input type="button" value="測(cè)試jsonp請(qǐng)求" onclick="testJsonp()" /> 
<script type="text/javascript"> 
  function testJsonp() { 
    $.ajax({ 
      type:'get', 
      url:'http://localhost:8003/jsonp/testJsonp', 
      dataType:'jsonp', 
      jsonp:"callback", 
      success:function (data) { 
        alert(data.userName+" "+data.passWord); 
      }, 
      error:function (err) { 
        alert('出現(xiàn)錯(cuò)誤了!!!'); 
      } 
    }); 
  } 
</script> 
</body> 
</html> 

后臺(tái)代碼1:

package com.zkn.learnspringmvc.news.controller; 
 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
 
/** 
 * Created by zkn on 2016/12/3. 
 */ 
@Controller 
public class JsonpTestController { 
 
  @RequestMapping("testJsonp") 
  public String testJsonp(){ 
 
    return "jsonp"; 
  } 
} 

下面我們發(fā)送請(qǐng)求如下:http://localhost:8080/LearnSpringMvc/testJsonp

當(dāng)我們點(diǎn)擊測(cè)試jsopn請(qǐng)求這個(gè)按鈕的時(shí)候,效果如下:

我們成功的實(shí)現(xiàn)了一個(gè)跨越的請(qǐng)求。更詳細(xì)的請(qǐng)求信息如下:

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

相關(guān)文章

  • Spring Boot中自定義注解結(jié)合AOP實(shí)現(xiàn)主備庫(kù)切換問(wèn)題

    Spring Boot中自定義注解結(jié)合AOP實(shí)現(xiàn)主備庫(kù)切換問(wèn)題

    這篇文章主要介紹了Spring Boot中自定義注解+AOP實(shí)現(xiàn)主備庫(kù)切換的相關(guān)知識(shí),本篇文章的場(chǎng)景是做調(diào)度中心和監(jiān)控中心時(shí)的需求,后端使用TDDL實(shí)現(xiàn)分表分庫(kù),需要的朋友可以參考下
    2019-08-08
  • Java集合系列之LinkedHashMap源碼分析

    Java集合系列之LinkedHashMap源碼分析

    這篇文章主要為大家詳細(xì)介紹了Java集合系列之LinkedHashMap源碼分析,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Java8深入學(xué)習(xí)系列(一)lambda表達(dá)式介紹

    Java8深入學(xué)習(xí)系列(一)lambda表達(dá)式介紹

    Java8最值得學(xué)習(xí)的特性就是Lambda表達(dá)式和Stream API,所以我們學(xué)習(xí)java8的第一課就是學(xué)習(xí)lambda表達(dá)式,下面這篇文章主要給大家介紹了關(guān)于Java8學(xué)習(xí)之lambda的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-08-08
  • ssm?mybatis如何配置多個(gè)mapper目錄

    ssm?mybatis如何配置多個(gè)mapper目錄

    這篇文章主要介紹了ssm?mybatis如何配置多個(gè)mapper目錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
    2022-01-01
  • Springboot+WebSocket+Netty實(shí)現(xiàn)在線聊天/群聊系統(tǒng)

    Springboot+WebSocket+Netty實(shí)現(xiàn)在線聊天/群聊系統(tǒng)

    這篇文章主要實(shí)現(xiàn)在好友添加、建群、聊天對(duì)話、群聊功能,使用Java作為后端語(yǔ)言進(jìn)行支持,界面友好,開發(fā)簡(jiǎn)單,文章中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2023-08-08
  • Resilience4J通過(guò)yml設(shè)置circuitBreaker的方法

    Resilience4J通過(guò)yml設(shè)置circuitBreaker的方法

    Resilience4j是一個(gè)輕量級(jí)、易于使用的容錯(cuò)庫(kù),其靈感來(lái)自Netflix Hystrix,但專為Java 8和函數(shù)式編程設(shè)計(jì),這篇文章主要介紹了Resilience4J通過(guò)yml設(shè)置circuitBreaker的方法,需要的朋友可以參考下
    2022-10-10
  • idea查看java文件的全部接口的操作方法

    idea查看java文件的全部接口的操作方法

    在Java項(xiàng)目開發(fā)中,快速查看和理解接口至關(guān)重要,通過(guò)IntelliJ IDEA,開發(fā)人員可以高效地瀏覽Java文件中的所有接口信息,本文介紹了在IDEA中實(shí)現(xiàn)查看Java文件全部接口的方法,感興趣的朋友一起看看吧
    2024-10-10
  • SpringFox實(shí)現(xiàn)自動(dòng)生成RESTful?API文檔

    SpringFox實(shí)現(xiàn)自動(dòng)生成RESTful?API文檔

    在開發(fā)?RESTful?API?時(shí),編寫?API?文檔是一個(gè)重要的任務(wù),這篇文章為大家介紹了如何使用?SpringFox?自動(dòng)生成?RESTful?API?文檔,并提供示例代碼,需要的可以參考一下
    2023-06-06
  • Java如何在沙箱環(huán)境中測(cè)試支付寶支付接口

    Java如何在沙箱環(huán)境中測(cè)試支付寶支付接口

    這篇文章主要介紹了Java如何在沙箱環(huán)境中測(cè)試支付寶支付接口,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 詳解Java?ReentrantReadWriteLock讀寫鎖的原理與實(shí)現(xiàn)

    詳解Java?ReentrantReadWriteLock讀寫鎖的原理與實(shí)現(xiàn)

    ReentrantReadWriteLock讀寫鎖是使用AQS的集大成者,用了獨(dú)占模式和共享模式。本文和大家一起理解下ReentrantReadWriteLock讀寫鎖的實(shí)現(xiàn)原理,需要的可以了解一下
    2022-10-10

最新評(píng)論

江都市| 景宁| 嵊泗县| 大足县| 鲁甸县| 翁牛特旗| 开远市| 桐城市| 天津市| 延津县| 阿拉善左旗| 兴安县| 巨鹿县| 阿拉尔市| 海林市| 大名县| 漠河县| 乌恰县| 彰化县| 元朗区| 西和县| 厦门市| 威海市| 桐城市| 岐山县| 治县。| 县级市| 出国| 辽阳县| 武功县| 阿巴嘎旗| 仙游县| 日土县| 泾源县| 丘北县| 石河子市| 辽宁省| 唐海县| 夏津县| 安塞县| 东阳市|