跨域及解决跨域

什么是跨域

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

解决

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() {}
}
相关推荐
一只白鸭子2 分钟前
从实践到思考:Spring Boot + MyBatis关系查询小分享
java
天天摸鱼的java工程师7 分钟前
详解 Spring Boot 的 RedisAutoConfiguration 配置:从自动装配到自定义扩展
java·后端
Dcs7 分钟前
Java 新手指南:类和对象到底是啥?
java
用户正在当牛马12 分钟前
Mysql的数据如何与redis进行同步(双写一致性)
java
程序员阿超的博客15 分钟前
Java大模型开发入门 (7/15):让AI拥有记忆 - 使用LangChain4j实现多轮对话
java·人工智能·microsoft
曲邹萌31 分钟前
若以floeable流运行(前后端分离)
java
qq_334060211 小时前
springmvc
java·spring·mvc
小陈phd1 小时前
langchain从入门到精通(七)——利用回调功能调试链应用 - 让过程更透明
android·java·langchain
风象南1 小时前
SpringBoot的4种Bean注入冲突解决方案
java·spring boot·后端
缘友一世2 小时前
java设计模式[2]之创建型模式
java·开发语言·设计模式