1. 程式人生 > >java伺服器端配置支援跨域請求

java伺服器端配置支援跨域請求

前言:之前做好的登陸介面,剛剛拿去給前端呼叫。發現前端那邊報錯,無法調到介面。因為我們後端的介面是在一臺伺服器上,前端(使用的是nodejs)的程式碼在另一臺伺服器上,導致兩臺伺服器之間無法相互呼叫(伺服器我們使用的是tomcat 7)。所以為了解決這個問題,前端那邊在介面方面加了一段程式碼。同時,我們伺服器端也同樣需要加一個配置用來解決跨域。上網上查找了相關解決方案,配置到程式碼中,發現OK了。所以拿出來和大家分享一下,也為以後再遇到這種問題做個記錄。好了,閒話少說,開始!

首先,上網搜尋關鍵詞 “伺服器支援跨域” 發現如下幾篇文章:

http://hw1287789687.iteye.com/blog/2212292

http://www.360doc.com/content/14/0920/14/7909375_411017244.shtml

http://blog.csdn.net/newjueqi/article/details/27058765

以上的文章可以參考,寫的思路都很對,但是具體的操作沒有寫。所以我就在此把具體操作寫出來就可以了。

首先我們專案中使用的是maven管理jar包,所以我要找到對應的jar包加入到pom中。

<!-- 跨域過濾器相關 -->
	<dependency>
		<groupId>com.thetransactioncompany</groupId>
		<artifactId>java-property-utils</artifactId>
		<version>1.9.1</version>
	</dependency>
		
	<dependency>
		<groupId>com.google.code.gson</groupId>
		<artifactId>gson</artifactId>
		<version>2.6.2</version>
	</dependency>
<!-- 跨域過濾器相關 -->

然後接下來在專案中的web.xml中加入如下filter節點

          <filter>
	    <description>跨域過濾器</description>
	    <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>

接下來.........

還接下來什麼呀。重啟伺服器,跑起來吧。騷年!!!