跨域及解决跨域

什么是跨域

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

解决

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() {}
}
相关推荐
Neteen27 分钟前
七大经典基于比较排序算法【Java实现】
java·算法·排序算法
海无极1 小时前
EDUCODER头哥 SpringBoot 异常处理
java·spring boot·spring
.生产的驴1 小时前
SpringBootCloud 服务注册中心Nacos对服务进行管理
java·spring boot·spring·spring cloud·tomcat·rabbitmq·java-rabbitmq
customer081 小时前
【开源免费】基于SpringBoot+Vue.JS课程答疑系统(JAVA毕业设计)
java·jvm·vue.js·spring boot·spring cloud·kafka·开源
乌啼霜满天2491 小时前
Java Web项目的webapp目录
java·开发语言·web app
古人诚不我欺1 小时前
jmeter常用配置元件介绍总结之线程组
java·开发语言·jmeter
一个松1 小时前
IDEA报包不存在,但实际存在
java·ide·intellij-idea
一直学习永不止步2 小时前
LeetCode题练习与总结:至少有 K 个重复字符的最长子串--395
java·算法·leetcode·字符串·滑动窗口·哈希表·分治
一叶飘零_sweeeet2 小时前
JVM 中的完整 GC 流程
java·开发语言·jvm
猫爪笔记2 小时前
JavaSE:运算符 (学习笔记)
java·开发语言·笔记·学习