SpringBoot配置Access-Control-Allow-Origin教程

 更新时间:2025年03月07日 08:36:58   作者:白日做梦_  
文章介绍了三种配置Spring Boot跨域访问的方法:1. 使用过滤器;2. 在WebConfig配置文件中设置;3. 通过注解配置,作者分享了个人经验,并鼓励读者支持脚本之家

SpringBoot配置Access-Control-Allow-Origin

1. 配置过滤器

@Component
@WebFilter(urlPatterns = "/*", 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;
        String curOrigin = reqs.getHeader("Origin");
        response.setHeader("Access-Control-Allow-Origin", curOrigin == null ? "true" : curOrigin);
        response.setHeader("Access-Control-Allow-Credentials", "true");
        response.setHeader("Access-Control-Allow-Methods", "POST, GET, PATCH, DELETE, PUT");
        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() {}

}

2. webconfig 配置文件

@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);
    }

}
@Configuration
public class XXXXMvcConfigurer implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowCredentials(true)
                .allowedMethods("GET", "POST", "DELETE", "PUT","PATCH")
                .maxAge(3600);
    }
}

3. 结果查验

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 从字节码角度解析synchronized和反射实现原理

    从字节码角度解析synchronized和反射实现原理

    这篇文章主要介绍了从字节码角度解析synchronized和反射的实现原理,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Spring MVC中日期格式转换的两种实用方法

    Spring MVC中日期格式转换的两种实用方法

    在开发基于 Spring MVC 的 Web 应用时,日期格式的转换是一个常见的需求,本文将详细介绍 Spring MVC 中两种日期格式转换的方法,包括创建过程和最终的运行结果,需要的朋友可以参考下
    2025-08-08
  • java文件操作报错:java.io.FileNotFoundException(拒绝访问)问题

    java文件操作报错:java.io.FileNotFoundException(拒绝访问)问题

    在进行编程时,经常会遇到因疏忽小细节而导致的错误,如忘记在路径后添加文件名,本文通过一个具体的修改前后对比示例,解释了错误原因,并给出了解决方案,这类经验分享对编程学习者具有参考价值
    2024-10-10
  • Java实现简单的扫雷小程序

    Java实现简单的扫雷小程序

    这篇文章主要为大家详细介绍了Java实现简单的扫雷小程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • springboot整合shiro与自定义过滤器的全过程

    springboot整合shiro与自定义过滤器的全过程

    这篇文章主要给大家介绍了关于springboot整合shiro与自定义过滤器以及Shiro中权限控制的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • SpringBoot项目中连接Gauss数据库

    SpringBoot项目中连接Gauss数据库

    本文主要介绍了SpringBoot项目中连接Gauss数据库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • JAVA内存模型(JMM)详解

    JAVA内存模型(JMM)详解

    这篇文章主要介绍了JAVA内存模型(JMM)详解的相关资料,需要的朋友可以参考下
    2022-12-12
  • Java通过URL类下载图片的实例代码

    Java通过URL类下载图片的实例代码

    这篇文章主要介绍了Java通过URL类下载图片,文中结合实例代码补充介绍了java通过url获取图片文件的相关知识,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • Java Servlet 表单数据处理详解

    Java Servlet 表单数据处理详解

    本文详细介绍了Servlet处理表单数据的方法,涵盖配置Servlet、获取参数、数据验证及响应内容设置,深入探讨 Servlet 如何接收、处理和响应表单数据,并提供一些最佳实践,以确保数据处理的正确性和安全性,感兴趣的朋友一起看看吧
    2026-05-05
  • SpringBoot实现Logback输出日志到Kafka方式

    SpringBoot实现Logback输出日志到Kafka方式

    本文介绍了如何在SpringBoot应用中通过自定义Appender实现Logback输出日志到Kafka,包括配置maven依赖、Kafka工具类和logback.xml配置
    2025-02-02

最新评论