1. 程式人生 > >如何解決web專案跨域問題

如何解決web專案跨域問題

在開發過程中,前臺頁面在訪問後臺介面的過程中,出現了跨域問題,解決完畢後,記錄一下,備忘。

1。在專案的pom.xml檔案中新增如下依賴:

<!-- tomcat 下配置ajax 跨域 訪問 -->
        <dependency>  
            <groupId>com.thetransactioncompany</groupId>  
            <artifactId>cors-filter</artifactId>  
            <version>1.7.1</version>  
        </dependency>
        <dependency>
            <groupId>com.thetransactioncompany</groupId>  
            <artifactId>java-property-utils</artifactId>  
            <version>1.9</version>  
        </dependency>        

2。在專案的web.xml檔案中新增如下過濾器:
<!-- tomcat 下配置ajax 跨域 訪問 -->
  <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> 

此方法為服務端通用解決辦法,客戶端無需做處理,簡潔方便。