什么是跨域访问:
跨域访问问题出现是由于浏览器的同源策略,同源策略指的是请求的url地址,必须与浏览器上的url地址处于同域上,也就是域名,端口,协议相同。
解决跨域访问问题有两种方式:
1、可以在方法上添加注解
@CrossOrigin
此方法就可以被跨域访问,但是这样只能放开一个方法
2、其实想要一个请求允许跨域访问,在response头信息中添加"Access-Control-Allow-Origin"即可,为了减少重复代码,我们可以使用拦截器在每次请求响应后处理响应信息。
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//跨域访问
public class CrossAccess extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//获取请求
String origin = request.getHeader("Origin");
//允许请求跨域
response.setHeader("Access-Control-Allow-Origin", origin