首先咱們先看下什麼是 CORS(跨來源資源共享/跨域資源共享)java
跨域資源共享(CORS )是一種網絡瀏覽器的技術規範,它爲Web服務器定義了一種方式,容許網頁從不一樣的域訪問其資源。簡單來講就是可以讓 A 網域向 B 網域發出跨網域的 AJAX 請求。而這種訪問是被同源策略所禁止的。web
舉個例子,假設咱們有兩個網址,且來自兩臺不一樣的主機,分別爲:http://www.website1.com http://www.website2.com 也由於他們來自於不一樣的主機,它們會被瀏覽器認定爲來自不一樣的來源,跨域
或是在這種狀況下: http://www.website.com 和 https://www.website.com 這兩個網址仍是屬於不一樣的來源,由於他們的協議是不一樣的。瀏覽器
其次咱們看下如何使Tomcat下的 java web 項目支持跨域請求。tomcat
Tomcat下的配置服務器
下載cors-filter-1.7.jar,java-property-utils-1.9.jar這兩個庫文件,(下載連接:http://www.oschina.net/code/piece_full?code=58292&piece=86852#86852)放到lib目錄下。(tomcat 默認安裝目錄 C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\lib)。網絡
java web 工程項目中web.xml中的配置app
<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>