1. 程式人生 > >Java前端請求後臺跨域問題解決

Java前端請求後臺跨域問題解決

當前端頁面與後臺執行在不同的伺服器時,就必定會出現跨域這一問題,本篇簡單介紹解決跨域的一種常用方案

1、錯誤如圖,前端請求後臺報錯

2、Java後臺新增Filter解決,程式碼如下

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.HttpServletResponse;

public class WebContentFilter implements Filter {

	@Override
	public void destroy() {
	}

	@Override
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
			throws IOException, ServletException {
		HttpServletResponse httpServletResponse=(HttpServletResponse) response;
		httpServletResponse.setHeader("Access-Control-Allow-Origin", "*");
		httpServletResponse.setHeader("Access-Control-Allow-Headers", "Authentication");
		chain.doFilter(request, httpServletResponse);
	}

	@Override
	public void init(FilterConfig arg0) throws ServletException {
	}

}

3、web.xml新增配置項

web.xml配置:
 <!-- 跨域 -->
  <filter>
  	<filter-name>ContentFilter</filter-name>
  	<filter-class>com.xxx.xxx.WebContentFilter</filter-class>
  </filter>
  <filter-mapping>
  	<filter-name>ContentFilter</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>

配置完重啟專案訪問即可。