在前后台分离的开发过程中,前后台分别按照接口文档进行开发,属于并行开发,可以提高很大的一个效率,但是因为前后台的一些问题,造成了跨域的问题,之后要是后台忙着别的事,没时间给你解决跨域问题,那就有点伤了,自己掌握一种处理跨域的方法,我这个用的是spring mvc的框架,不是springboot,等下次在更新springboot的跨域问题的解决方案。
一、建立一个类,实现Filter接口,之后在doFilter里面写入下面的代码。
import org.springframework.stereotype.Component;
import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@Component
public class SimpleCorsFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) servletResponse;
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","Origin,X-Requested-With,Content-Type,Accept");
filterChain.doFilter(servletRequest,servletResponse);
}
@Override
public void destroy() {
}
}
二、在web.xml里添加如下配置文件
<filter>
<filter-name>cors</filter-name>
<filter-class>第一步建立的类的文件的位置</filter-class>
</filter>
<filter-mapping>
<filter-name>cors</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这样跨域就做好了,之后大家可以利用ajax来访问后台的接口了。