之前写过通过注释的方法解决跨域请求的方法,需要每次都在controll类使用注解,这次通过springmvc的拦截器解决:

继承SpringMVC的类HandlerInterceptor重写preHandle方法,这个方法会在到达 controll之前调用,如下

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, 
        Object handler) throws Exception { 
  response.setHeader("Access-Control-Allow-Origin", "*"); 
  response.setHeader("Access-Control-Allow-Methods", "*"); 
  response.setHeader("Access-Control-Max-Age", "3600"); 
  response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
  response.setHeader("Access-Control-Allow-Credentials","true"); //是否允许浏览器携带用户身份信息(cookie) 
  return true; 
 } 

springmvc配置如下:

<mvc:interceptors > 
 <!--过滤所有请求,处理跨域请求问题--> 
  <mvc:interceptor> 
   <mvc:mapping path="/**"/> 
   <bean class="com.jzy.interceptor.CommonInterceptor"></bean> 
  </mvc:interceptor> 
</mvc:interceptors > 

这样既可解决SSM+VUE前后端分离时跨域请求的限制。

以上这篇利用SpringMVC过滤器解决vue跨域请求的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

点赞(85)

评论列表共有 0 条评论

立即
投稿
返回
顶部