SpringMVC注解@CrossOrigin跨域問題詳解
前言
一般的,只要網(wǎng)站的【協(xié)議名protocol】、【主機(jī)host】、【端口號(hào)port】這三個(gè)中的任意一個(gè)不同,網(wǎng)站間的數(shù)據(jù)請求與傳輸便構(gòu)成了跨域調(diào)用 跨域:瀏覽同源策略的造成,是瀏覽器對(duì)JavaScript施加的安全限制 CORS是一種可以解決跨域問題的技術(shù)
SprinMVC通過@CrossOrigin注解解決跨域
在Spring MVC4.2之后推出了@CrossOrigin注解來解決跨域問題,而在4.2之前我們都是通過定義注冊過濾器的方式來解決跨域問題的
@CrossOrigin的參數(shù)
1、origins:允許可訪問的域列表;*表示可以是任何來源
2、maxAge:準(zhǔn)備響應(yīng)前的緩存持續(xù)的最大時(shí)間(單位:秒)
@CrossOrigin使用在Controller層
1、類上,此類中所有方法啟用跨域支持
// 開啟跨域支持 @CrossOrigin @RestController @RequestMapping("/user") public class UserController { }
2、方法上,僅此方法啟用跨域支持
// 開啟跨域支持 @CrossOrigin @RequestMapping(value = "/findAll", method = RequestMethod.GET) public List<User> findAll(){ return userService.findAll(); }
注意
1、注解失效問題:此時(shí)Controlle的方法上@RequestMapping注解中需要聲明請求方式即增加method=RequestMethod.XXX
2、添加注解后session失效問題:此時(shí)對(duì)的ajax請求中需要添加xhrFields:{withCredentials:true}(每個(gè)ajax中都需要加此屬性,以保證session一致)
$.ajax({ type: "post", url: '/user/login', xhrFields: {withCredentials: true}, data: { username: username, password: password }, success: function (msg) { console.log('登錄成功'); }, error: function (msg) { console.log('請求報(bào)錯(cuò)!'); } })
到此這篇關(guān)于SpringMVC注解@CrossOrigin跨域問題詳解的文章就介紹到這了,更多相關(guān)@CrossOrigin跨域問題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于application和bootstrap的加載順序及區(qū)別說明
這篇文章主要介紹了application和bootstrap的加載順序及區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07WIN7系統(tǒng)JavaEE(java)環(huán)境配置教程(一)
這篇文章主要介紹了WIN7系統(tǒng)JavaEE(java+tomcat7+Eclipse)環(huán)境配置教程,本文重點(diǎn)在于java配置,感興趣的小伙伴們可以參考一下2016-06-06Spring防止重復(fù)點(diǎn)擊的兩種實(shí)現(xiàn)方法
頁面重復(fù)提交導(dǎo)致的問題就是數(shù)據(jù)被重復(fù)保存,我們經(jīng)常會(huì)誤觸點(diǎn)擊兩次,所以本文小編給大家介紹了Spring防止重復(fù)點(diǎn)擊的兩種實(shí)現(xiàn)方法,需要的朋友可以參考下2025-01-01mybatis 忽略實(shí)體對(duì)象的某個(gè)屬性(2種方式)
這篇文章主要介紹了mybatis 忽略實(shí)體對(duì)象的某個(gè)屬性方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06springmvc—handlermapping三種映射方式
這篇文章主要介紹了springmvc—handlermapping三種映射方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09