跨域及解决跨域

什么是跨域

前端与后端不在同一个域名下:

解决

java 复制代码
import jakarta.servlet.*;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Component;

import java.io.IOException;

@Component
public class CorsFilter implements Filter {
	//这里具体设置什么需要根据实际情况
    private static final String ALLOWED_HEADERS = "X-Requested-With, Content-Type, Authorization, token";

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {}

    @Override
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
        HttpServletResponse response = (HttpServletResponse) res;
        HttpServletRequest request = (HttpServletRequest) req;

        // 设置CORS头
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Headers", ALLOWED_HEADERS);

        if ("OPTIONS".equalsIgnoreCase(request.getMethod())) {
            response.setStatus(HttpServletResponse.SC_OK);
        } else {
            chain.doFilter(req, res);
        }
    }

    @Override
    public void destroy() {}
}
相关推荐
weixin_404157682 分钟前
Java高级面试与工程实践问题集(五)
java·开发语言·面试
fengci.7 分钟前
ctfshow(web入门)295-300
java·开发语言·学习
重庆小透明29 分钟前
【面试问题】java字节八股部分
java·面试·职场和发展
小王不爱笑13230 分钟前
Java 对象拷贝(浅拷贝 / 深拷贝)
java·开发语言·python
架构师沉默33 分钟前
程序员真的要失业了吗?
java·后端·架构
小王不爱笑13240 分钟前
SpringBoot 自动装配深度解析:从底层原理到自定义 starter 实战(含源码断点调试)
java·spring boot·mybatis
森林里的程序猿猿43 分钟前
Spring Aop底层源码实现(一)
java·后端·spring
weixin_456321641 小时前
Java架构设计:Redis持久化方案整合实战
java·开发语言·redis
攒了一袋星辰1 小时前
SequenceGenerator高并发有序顺序号生成中间件 - 架构设计文档
java·后端·spring·中间件·架构·kafka·maven
lzp07911 小时前
SpringBoot3.3.0集成Knife4j4.5.0实战
java