近期專案用到跨域訪問,正常情況下使用response.setheader("access-control-allow-origin", "*")
在響應頭部新增了允許跨域的頭部後即可接受簡單請求(get、post等)的訪問。但是一旦在請求的header中增加其他引數,瀏覽器在跨域訪問資源前就會使用options請求嘗試獲取握手資訊,上述方法便無法通過過濾器的篩選,導致404出現。
故,請教同事,使用apache提供的corsfilter全域性解決跨域問題。具體內容如下:
引入依賴
>
>
org.apache.tomcatgroupid
>
>
tomcat-catalinaartifactid
>
>
8.0.15version
>
>
providedscope
>
dependency
>
在web.xml中新增corsfilter過濾器:
>
>
corsfilterfilter-name
>
>
org.apache.catalina.filters.corsfilterfilter-class
>
>
>
cors.allowed.originsparam-name
>
>
*param-value
>
init-param
>
>
>
cors.allowed.methodsparam-name
>
>
get,postparam-value
>
init-param
>
>
>
cors.allowed.headersparam-name
>
>
content-type,x-requested-with,accept,origin,access-control-request-method,access-control-request-headers,token,usercodeparam-value
>
init-param
>
>
>
cors.support.credentialsparam-name
>
>
falseparam-value
>
init-param
>
>
>
cors.support.maxageparam-name
>
>
2700param-value
>
init-param
>
filter
>
>
>
characterencodingfilterfilter-name
>
>
/*url-pattern
>
>
SpringMVC 4 3的跨域請求配置
spring mvc 4支援跨域請求配置功能,可以通過簡單的配置允許服務資源被跨域請求。1 跨域請求資料 跨域請求資料在controller的方法上使用註解 crossorigin origins maxage 3600,methods 注 methods必須配置,在使用4.3版本時,不配置meth...
關於springmvc跨域
關於跨域問題,主要用的比較多的是cros跨域。詳細介紹請看 但是,在springmvc angularjs下支援跨域請求時,出現複雜跨域場景 post json 失敗的情況。開始的跨域配置如下 public class crossinterceptor extends handlerintercep...
SpringMVC解決跨域
跨域,即跨站http請求 cross site http request 指發起請求的資源所在域不同於請求指向資源所在域的http請求。當使用前後端分離,後端主導的開發方式進行前後端協作開發時,常常有如下情景 後端開發完畢在伺服器上進行部署並給前端api文件。前端在本地進行開發並向遠端伺服器上部署的...