国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

第二十五章:SpringBoot添加支持CORS跨域訪問

simpleapples / 2823人閱讀

摘要:本章目標基于項目搭建可以站外請求訪問的跨域資源服務器。允許所有的請求域名訪問我們的跨域資源,可以固定單條或者多條內容,如,只有百度可以訪問我們的跨域資源。

CORS(Cross-Origin Resource Sharing)"跨域資源共享",是一個W3C標準,它允許瀏覽器向跨域服務器發送Ajax請求,打破了Ajax只能訪問本站內的資源限制,CORS在很多地方都有被使用,微信支付的JS支付就是通過JS向微信服務器發送跨域請求。開放Ajax訪問可被跨域訪問的服務器大大減少了后臺開發的工作,前后臺工作也可以得到很好的明確以及分工,下面我們就看講一下如何讓你的SpringBoot項目支持CORS跨域。

本章目標

基于SpringBooot項目搭建可以站外Ajax請求訪問的跨域資源服務器。

構建項目

使用IDEA開發工具創建一個SpringBoot項目,預先添加Web依賴即可,項目結構如下圖1所示:

圖1
CORSConfiguration

我們只需要添加項目Web依賴就可以了,下面我們開始添加CORS的配置信息,我們創建一個CORSConfiguration配置類,如下圖2所示:

圖2
上圖2內我們的CORSConfiguration配置類繼承了WebMvcConfiugrationAdaper父類并且重寫了addCorsMappings方法,我們來簡單介紹下我們的配置信息

addMapping:配置可以被跨域的路徑,可以任意配置,可以具體到直接請求路徑。
allowedMethods:允許所有的請求方法訪問該跨域資源服務器,如:POST、GET、PUT、DELETE等。
allowedOrigins:允許所有的請求域名訪問我們的跨域資源,可以固定單條或者多條內容,如:"http://www.baidu.com",只有百度可以訪問我們的跨域資源。
allowedHeaders:允許所有的請求header訪問,可以自定義設置任意請求頭信息,如:"X-YAUTH-TOKEN"

編寫跨域資源請求

我們的跨域配置到目前來說已經配置完成了,SpringBoot已經為我們內置相關配置,我們只需要重寫方法修改部分參數即可,下面我們來創建一個測試跨域資源的控制器,如下圖3所示:

圖3
在圖3內的IndexController控制器內,我們僅僅添加了一個測試返回文本的內容,當然這個控制器可以處理任意業務邏輯。

測試跨域請求

我們在項目外創建一個index.html頁面(上傳碼云后會在resources目錄找到),頁面內添加部分jquery代碼,如下圖4所示:

圖4
我們引用了在線的jquery代碼,并且在頁面加載的時候為id=cors的輸入按鈕綁定點擊事件,點擊按鈕時就會請求我們的/cors跨域資源路徑,下面我們來運行項目測試下跨域請求,項目運行日志如下圖5所示:

圖5
可以看到上圖5內項目啟動時SpringBoot內置的SpringMVC已經把我們的/cors添加到映射集合,我們打開之前編寫的index.html網頁,界面效果如下圖6所示:

圖6
接下來我們點擊“CORS跨域測試”按鈕,查看下效果,如下圖7所示:

圖7
上圖7內可以看到,界面給我返回了我們/cors路徑返回的文本內容,證明我們的ajax請求完美的通過跨域資源庫訪問了開放跨域的資源路徑。

下面我們來把我們的跨域配置注釋掉,重啟項目后刷新index.html再次點擊“CORS跨域測試”按鈕,界面輸出效果如下圖8所示:

圖8
可以看到我們點擊后并沒有獲取到返回內容,而是給我們提示了異常,告訴我們無法加載資源。

本章總結

本章簡單講解了SpringBoot項目對CORS請求的處理,完全自定義處理請求路徑,可對請求頭信息以及請求的域名進行控制。

本章代碼已經上傳到碼云:

網頁地址:git.oschina.net/jnyqy/lessons
Git地址:git.oschina.net/jnyqy/lessons.git

SpringBoot相關系列文章,請訪問:目錄:SpringBoot學習目錄,感謝閱讀!

歡迎加入QQ技術交流群,共同進步。

QQ技術交流群

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/67676.html

相關文章

  • 第三十四章:SpringBoot配置類WebMvcConfigurerAdapter

    摘要:本章目標繼承采用形式實現個性化配置定制。本章代碼已經上傳到碼云網頁地址地址相關系列文章請訪問目錄學習目錄相關系列文章請訪問通用查詢框架學習目錄相關系列文章請訪問目錄學習目錄感謝閱讀歡迎加入技術交流群,共同進步。 WebMvcConfigurerAdapter配置類其實是Spring內部的一種配置方式,采用JavaBean的形式來代替傳統的xml配置文件形式進行針對框架個性化定制,下面我...

    springDevBird 評論0 收藏0
  • SpringBoot非官方教程 | 第二十五篇:2小時學會springboot

    摘要:一什么是摘自官網翻譯采納了建立生產就緒應用程序的觀點。優先于配置的慣例,旨在讓您盡快啟動和運行。致力于簡潔,讓開發者寫更少的配置,程序能夠更快的運行和啟動。二搭建第一個程序可以在上建項目,也可以用構建。已經凌晨了,我要睡了源碼 一.什么是spring boot Takes an opinionated view of building production-ready Spring a...

    baukh789 評論0 收藏0
  • 第三五章SpringBoot與單元測試的小秘密

    摘要:本章目的基于平臺整合分別完成客戶端服務端的單元測試。在測試控制器內添加了三個測試方法,我們接下來開始編寫單元測試代碼??偨Y本章主要介紹了基于平臺的兩種單元測試方式,一種是在服務端采用注入方式將需要測試的或者注入到測試類中,然后調用方法即可。 單元測試對于開發人員來說是非常熟悉的,我們每天的工作也都是圍繞著開發與測試進行的,在最早的時候測試都是采用工具Debug模式進行調試程序,后來Ju...

    hikui 評論0 收藏0
  • 《On Java 8》中文版,又名《Java 編程思想》中文第五版

    摘要:基于版本基于版本。由于中英行文差異,完全的逐字逐句翻譯會很冗余啰嗦。譯者在翻譯中同時參考了谷歌百度有道翻譯的譯文以及編程思想第四版中文版的部分內容對其翻譯死板,生造名詞,語言精煉度差問題進行規避和改正。 來源:LingCoder/OnJava8 主譯: LingCoder 參譯: LortSir 校對:nickChenyx E-mail: 本書原作者為 [美] Bru...

    BingqiChen 評論0 收藏0

發表評論

0條評論

simpleapples

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<