日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

tomcat7.0配置CORS(跨域资源共享)

發布時間:2025/3/15 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tomcat7.0配置CORS(跨域资源共享) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

平時我們做前臺頁面時可能會遇到瀏覽器以下提示(瀏覽器控制臺):

????已阻止跨源請求:同源策略禁止讀取位于 http://xxx.xxx.com 的遠程資源。(原因:CORS 頭缺少 'Access-Control-Allow-Origin')

這種情況就是跨域請求被阻止,這樣可能會導致當前網站的css、js 、ajax請求、font字體等資源出現無法正常訪問的問題,這時就涉及到“跨域資源共享”這個問題了。

以下列舉跨域問題的幾種情形:

URL

說明

是否允許通信

http://www.a.com/a.js
http://www.a.com/b.js

同一域名下

允許

http://www.a.com/lab/a.js
http://www.a.com/script/b.js

同一域名下不同文件夾

允許

http://www.a.com:8000/a.js
http://www.a.com/b.js

同一域名,不同端口

不允許

http://www.a.com/a.js
http://www.a.com/b.js

同一域名,不同協議

不允許

http://www.a.com/a.js
http://192.168.1.1/b.js

域名和域名對應ip

不允許

http://www.a.com/a.js
http://home.a.com/b.js

主域相同,子域不同

不允許

http://www.a.com/a.js
http://.a.com/b.js

同一域名,不同二級域名(同上)

不允許(cookie這種情況下也不允許訪問)

http://www.cnblogs.com/a.js
http://www.a.com/b.js

不同域名

不允許

如果是PHP等語言,這個問題貌似很好解決,只要一行代碼就可以搞定,那么Java呢?如何在不修改代碼的情況下,實現跨域資源共享?請往下看:

CORS(跨域資源共享)介紹:

CORS(Cross-Origin Resource Sharing) 跨域資源共享

全稱:Cross-Origin Resource Sharing

中文意思:跨域資源共享

它 在維基百科上的定義是:跨域資源共享(CORS )是一種網絡瀏覽器的技術規范,它為Web服務器定義了一種方式,允許網頁從不同的域訪問其資源。而這種訪問是被同源策略所禁止的。CORS系統定義了一 種瀏覽器和服務器交互的方式來確定是否允許跨域請求。 它是一個妥協,有更大的靈活性,但比起簡單地允許所有這些的要求來說更加安全。

?

Tomcat下的項目的配置:

首先需要下載cors-filter-1.7.jar,java-property-utils-1.9.jar這兩個jar包;

然后配置工程項目中web.xml文件,配置信息如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ????<filter>??????? ???????<filter-name>CORS</filter-name> ???????<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class> ???????<init-param> ????????<param-name>cors.allowOrigin</param-name> ???????????<param-value>*</param-value> ???????</init-param> ???????<init-param> ????????<param-name>cors.supportedMethods</param-name> ???????????<param-value>GET,?POST,?HEAD,?PUT,?DELETE</param-value> ???????</init-param> ???????<init-param> ????????<param-name>cors.supportedHeaders</param-name> ???????????<param-value>Accept,?Origin,?X-Requested-With,?Content-Type,?Last-Modified</param-value> ???????</init-param> ???????<init-param> ???????????<param-name>cors.exposedHeaders</param-name> ???????????<param-value>Set-Cookie</param-value> ???????</init-param> ???????<init-param> ???????????<param-name>cors.supportsCredentials</param-name> ???????????<param-value>true</param-value> ???????</init-param> ???</filter> ?? ???<filter-mapping> ???????<filter-name>CORS</filter-name> ???????<url-pattern>/*</url-pattern> ???</filter-mapping>

轉載于:https://www.cnblogs.com/kabi/p/6090202.html

總結

以上是生活随笔為你收集整理的tomcat7.0配置CORS(跨域资源共享)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。