美文网首页
addCorsMappings 和 interceptor 跨域

addCorsMappings 和 interceptor 跨域

作者: 昵称违规 | 来源:发表于2018-11-01 11:20 被阅读0次

最近在做java项目,用到拦截器Interceptor,由于项目是前后端分离,所以存在跨域问题。

解决java 跨域问题有很多,什么ajax  jsonp方式,这就不适用我这个了,我这里主要介绍后台代码,

1、interceptor添加

//支持跨域请求

httpServletResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");

httpServletResponse.setHeader("Access-Control-Max-Age", "3600");

httpServletResponse.setHeader("Access-Control-Allow-Credentials", "true");

// httpServletResponse.setHeader("Access-Control-Allow-Headers", "x-requested-with,X-Nideshop-Token,X-URL-PATH");

httpServletResponse.setHeader("Access-Control-Allow-Headers", "*");

httpServletResponse.setHeader("Access-Control-Allow-Origin", httpServletRequest.getHeader("Origin"));

httpServletResponse.setHeader("Content-Type", "application/json");

主要是这句httpServletResponse.setHeader("Access-Control-Allow-Headers", "*");解决跨域

2、mvcConfig   public class MvcConfigextends WebMvcConfigurationSupport

@Override

public void addCorsMappings(CorsRegistry registry) {

registry.addMapping("/**")// 允许跨域访问的路径

            .allowedOrigins("*")// 允许跨域访问的源

            .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")// 允许请求方法

            .maxAge(168000)// 预检间隔时间

            .allowedHeaders("*")// 允许头部设置

            .allowCredentials(true);  // 是否发送cookie

}

这样也行

但是interceptor和addCorsMappings一起的话addCorsMappings机会失效,应该是顺序问题,interceptor覆盖了

相关文章

  • addCorsMappings 和 interceptor 跨域

    最近在做java项目,用到拦截器Interceptor,由于项目是前后端分离,所以存在跨域问题。 解决java 跨...

  • spring boot—Cors 跨域

    cors跨域问题 注:1、若工程内没有拦截器,只需要addCorsMappings 方法即可解决跨域 2、...

  • Spring Boot 跨域过滤器(过滤器跨域问题)

    重写WebMvcConfigurer#addCorsMappings()可以解决一部分跨域的问题,但是对于有些过滤...

  • springboot 三种跨域处理方式

    springboot 三种跨域处理方式:1.通过Filter方式实现全局跨域2.通过Interceptor方式实现...

  • springboot跨域 addCorsMappings 失效问

    失效原因: 请求会先进入拦截器中,而不是进入Mapping映射中,所以返回的头信息中并没有配置的跨域信息。浏览器就...

  • 拦截器的配置以及解决跨域问题

    本章介绍拦截器和过滤器的区别,如何配置拦截器Interceptor以及在拦截器中解决跨域问题项目源码:https:...

  • Web前后端跨域问题处理

    跨域问题有前台跨域(iframe间)和后台跨域。 前台跨域的解决方案可以采用跨域文档通讯(Cross domain...

  • 跨域

    跨域 什么是跨域: 解决跨域 通过jsonp原理:在页面引入跨域js和css时,没有存在跨域问题.因此可以动态创建...

  • 跨域问题:好几种解决方案

    跨域分为广义跨域和狭义跨域 广义跨域:一个域下的文档或脚本试图去请求另一个域下的资源; 广义跨域可以分为以下几种:...

  • 跨域

    1、跨域是什么 域指的是域名,向一个域发送请求,如果请求的域和当前域是不同域,就叫跨域;不同域之间的请求就叫跨域请...

网友评论

      本文标题:addCorsMappings 和 interceptor 跨域

      本文链接:https://www.haomeiwen.com/subject/yopdgxtx.html