完美解决Spring Boot前端的Access-Control-Allow-Origin跨域问题

 更新时间:2023年05月29日 15:05:14   作者:天工开物_152368  
这篇文章主要介绍了完美解决Spring Boot前端的Access-Control-Allow-Origin跨域问题,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

当我们在做前后端分离的开发时,在使用fetch交换数据的时候,提示Access-Control-Allow-Origin跨域问题,解决方案跟客户端没关系,修改的是服务端。

一、在过滤器中设置响应头:

@WebFilter(filterName = "CorsFilter ")
public class CorsFilter implements Filter {
    @Override
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
        HttpServletResponse response = (HttpServletResponse) res;
        HttpServletRequest reqs = (HttpServletRequest) req;
        // response.setHeader("Access-Control-Allow-Origin",reqs.getHeader("Origin"));
        response.setHeader("Access-Control-Allow-Origin","*");
        response.setHeader("Access-Control-Allow-Credentials", "true");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, PATCH, DELETE, PUT");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
        chain.doFilter(req, res);
    }
    @Override
    public void init(FilterConfig filterConfig) {}
    @Override
    public void destroy() {}
}

二、在spring boot 服务中心添加一个配置文件:

@Configuration
public class CorsConfig extends WebMvcConfigurerAdapter {
	@Override
	public void addCorsMappings(CorsRegistry registry) {
		registry.addMapping("/**").allowedOrigins("*")
				.allowedMethods("GET", "HEAD", "POST","PUT", "DELETE", "OPTIONS")
				.allowCredentials(true).maxAge(3600);
	}
}

到此这篇关于完美解决Spring Boot前端的Access-Control-Allow-Origin跨域问题的文章就介绍到这了,更多相关springboot Access-Control-Allow-Origin跨域内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java之maven打完jar包之后将jar包放到指定位置汇总

    Java之maven打完jar包之后将jar包放到指定位置汇总

    这篇文章主要介绍了Java之maven打完jar包之后将jar包放到指定位置汇总,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • YGC前后新生代是否变大分析详解

    YGC前后新生代是否变大分析详解

    要解释这个问题,我们先要弄清楚YGC的过程,parNew是新生代的gc算法,简单来说从gc roots开始扫描对象,当扫到一个只要是属于新生代的对象就将其挪到to space,但是老的对象还不会做释放,直到gc完成之后再看是否释放老的对象
    2022-01-01
  • springboot集成nacos实现自动刷新的示例代码

    springboot集成nacos实现自动刷新的示例代码

    研究nacos时发现,springboot版本可使用@NacosValue实现配置的自动刷新,本文主要介绍了springboot集成nacos实现自动刷新的示例代码,感兴趣的可以了解一下
    2023-11-11
  • java如何获取实体类的属性名和属性值

    java如何获取实体类的属性名和属性值

    这篇文章主要介绍了java如何获取实体类的属性名和属性值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Kotlin内存陷阱inline使用技巧示例详解

    Kotlin内存陷阱inline使用技巧示例详解

    这篇文章主要为大家介绍了Kotlin内存陷阱inline使用技巧示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • springBoot集成flowable的流程解析

    springBoot集成flowable的流程解析

    这篇文章主要介绍了springBoot集成flowable的流程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • springboot整合jsp,实现公交车站路线图

    springboot整合jsp,实现公交车站路线图

    这篇文章主要介绍了springboot整合jsp,实现公交车站路线图的步骤,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下
    2021-01-01
  • Java设计模式之命令模式CommandPattern详解

    Java设计模式之命令模式CommandPattern详解

    这篇文章主要介绍了Java设计模式之命令模式CommandPattern详解,命令模式是把一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作,需要的朋友可以参考下
    2023-10-10
  • Java中使用websocket实现在线聊天功能

    Java中使用websocket实现在线聊天功能

    这篇文章主要介绍了Java中使用websocket实现在线聊天功能,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Java实例讲解反射机制是怎么一回事

    Java实例讲解反射机制是怎么一回事

    Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法
    2022-03-03

最新评论