解决java前后端分离跨域的问题

时间:2021-11-21 16:51:02
第一步创建如下代码文件SimpleCORSFilter.javapackage gin.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 SimpleCORSFilter  implements Filter{
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); }
public void init(FilterConfig filterConfig) {}
public void destroy() {}
}第二步 其次是在web.xml中配置该文件的监听
<!-- 解决跨域访问的问题 -->    <filter>        <filter-name>cors</filter-name>        <filter-class>gin.filter.SimpleCORSFilter</filter-class>      </filter>      <filter-mapping>        <filter-name>cors</filter-name>        <url-pattern>/*</url-pattern>      </filter-mapping>     <session-config>      <session-timeout>10</session-timeout>    </session-config>

前端请求方式为jsonp或者post,get请求即可