關於跨域問題,主要用的比較多的是cros跨域。
詳細介紹請看
但是,在springmvc+angularjs下支援跨域請求時,出現複雜跨域場景(post + json)失敗的情況。
開始的跨域配置如下:
publicspring-dispatcher-servlet.xml中配置如下:class crossinterceptor extends
handlerinterceptoradapter
}
<針對簡單跨域沒問題。但是針對post+json請求卻失敗,提示跨域失敗。mvc:interceptors
>
<
mvc:interceptor
>
<
path
="/**/*"
/>
<
bean
class
="cn.***.filter.crossinterceptor"
/>
mvc:interceptor
>
mvc:interceptors
>
跟蹤springmvc原始碼到frameworkservlet中的dooption方法,發現,接受了option預檢,但是spring主動返回allow,沒有支援跨域的配置。
因此,加入新的配置如下:
publicweb.xml配置如下:class crossfilter extends
onceperrequestfilter
filterchain.dofilter(request, response);}}
<此時,option請求被crossfilter過濾器接入並賦予跨域響應頭,同時也進入frameworkservlet中的dooption方法。檢視瀏覽器控制台,發現option請求返回支援跨域資訊,後續的post請求進入controller。filter
>
<
filter-name
>cors
filter-name
>
<
filter-class
>cn.***.filter.crossfilter
filter-class
>
filter
>
<
>
<
filter-name
>cors
filter-name
>
<
url-pattern
>/*
url-pattern
>
>
公升級spring版本的後,上述跨域並不支援所有瀏覽器。經測試,safari正常,chrome異常。重新翻了一下最新的文件後,得到最新的跨域配置如下:
<相比3.x系列,簡單了很多。mvc:cors
>
<
path
="/**"
allowed-origins
="*"
allow-credentials
="true"
max-age
="1800"
allowed-methods
="get,post,options"
/>
mvc:cors
>
雪 華 雪之華 不可不玩的好遊戲
原帖 大學生拓也,寒假中揹著結他,騎著愛車,無目的的四處旅行,到達某個小鎮 湯華鎮時,機車失事,自己被撞的四分五裂,還連帶把乙個小廟給撞的四分五裂。小廟的小小神靈,本鎮的守護神耗盡自己的神力救活了他。為了修復小廟,恢復自己的神力,避免失控的力量將小鎮毀滅,小小神靈向拓也討要大筆的金錢,作為窮這個字的...
飛信分析之八 飛信的加密方法
花了好幾天時間終於把飛信加密的密碼用非.net的方式給還原了,並用c 完全實現了一遍,回頭把這個c 版的showpasswd貼上來。看到有朋友問到飛信的加密方法,這裡就把飛信用的加密和變換的方法一起簡要介紹一下。1.飛信的配置檔案的加密方法 飛信的配置檔案其實不是加密,只是進行了一下變換。這種變換的...
菜鳥先飛之JAVA 方法
提高 的復用性 完成特定功能的 塊。修飾符 返回值型別 方法名 引數型別 引數名1,引數型別 引數名2.方法體語句 return返回值 修飾符 目前就用 public static。後面我們再詳細的講解其他的修飾符。返回值型別 就是功能結果的資料型別。方法名 符合命名規則即可。方便我們的呼叫。引數 ...