java接口跨域問題

java項目調用接口報跨域錯誤。解決問題方法如下:

寫一個攔截器類

	package org.jeecgframework.core.util;
	
	import java.io.IOException;
	
	import javax.servlet.Filter;
	
	import javax.servlet.FilterChain;
	
	import javax.servlet.FilterConfig;
	
	import javax.servlet.ServletException;
	
	import javax.servlet.ServletRequest;
	
	import javax.servlet.ServletResponse;
	
	import javax.servlet.http.HttpServletRequest;
	
	import javax.servlet.http.HttpServletResponse;
	
	import org.apache.commons.httpclient.HttpStatus;
	
	/**
	
	* Created by WangShuai on 2016/7/30.
	* 解決跨域攔截器
	
	*/
	
	public class CorsFilter implements Filter {
	
		 @Override  
	        public void destroy() {  
	              
	        }  
	      
	        @Override  
	        public void doFilter(ServletRequest req, ServletResponse res,  
	                FilterChain chain) throws IOException, ServletException {  
	                HttpServletResponse response = (HttpServletResponse) res;  
	                response.setHeader("Access-Control-Allow-Origin", "*");  
	                response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");  
	                response.setHeader("Access-Control-Max-Age", "3600");  
	                response.setHeader("Access-Control-Allow-Headers", "x-requested-with");  
	                chain.doFilter(req, res);  
	              
	        }  
	      
	        @Override  
	        public void init(FilterConfig arg0) throws ServletException {  
	              
	        }  

	
	}

2.修改web.xml文件。在裏面添加如下代碼

 

 <!-- 解決跨域問題 -->
  <filter>
		  <filter-name>cors</filter-name>
		  <filter-class>org.jeecgframework.core.util.CorsFilter</filter-class>
 </filter>     
 
	<filter-mapping>  
     <filter-name>cors</filter-name>  
     <url-pattern>/*</url-pattern>  
   </filter-mapping>
        

裏面的org.jeecgframework.core.util.CorsFilter部分寫你自己的路徑,其他不用變。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章