跨域及解决跨域

什么是跨域

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

解决

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() {}
}
相关推荐
2501_936960365 分钟前
ROS快速入门杰哥教程1-77残缺版
java·开发语言
小灵吖7 分钟前
LangChain4j 记忆化(ChatMemory)
java·后端
用户1085932993418 分钟前
Java集合框架完全指南
java
冬夜戏雪8 分钟前
Leetcode 颠倒二进制位/二进制求和
java·数据结构·算法
Never_Satisfied22 分钟前
在c#中,获取文件的大小
java·开发语言·c#
蜂蜜黄油呀土豆24 分钟前
浅拷贝与深拷贝:实现与应用解析
java·浅拷贝·深拷贝·对象复制
014-code27 分钟前
Spring Boot 集成 Neo4j 图数据库实战教程
java·数据库·neo4j
时艰.30 分钟前
分布式 ID 服务实战
java·分布式
七夜zippoe34 分钟前
分布式系统弹性设计实战:Hystrix与Sentinel熔断降级深度解析
java·hystrix·sentinel·aws·分布式系统
廋到被风吹走1 小时前
设计原则深度解析:高内聚低耦合、模块边界与服务拆分
java