Tomcat 7 下 java web 項目 跨域CORS請求解決方案

首先咱們先看下什麼是 CORS(跨來源資源共享/跨域資源共享)java

跨域資源共享(CORS )是一種網絡瀏覽器的技術規範,它爲Web服務器定義了一種方式,容許網頁從不一樣的域訪問其資源。簡單來講就是可以讓 A 網域向 B 網域發出跨網域的 AJAX 請求。而這種訪問是被同源策略所禁止的。web

舉個例子,假設咱們有兩個網址,且來自兩臺不一樣的主機,分別爲:http://www.website1.com http://www.website2.com 也由於他們來自於不一樣的主機,它們會被瀏覽器認定爲來自不一樣的來源,跨域

或是在這種狀況下: http://www.website.comhttps://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>
相關文章
相關標籤/搜索