跨域及解决跨域

什么是跨域

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

解决

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() {}
}
相关推荐
程序员小假15 小时前
我们来说一说 Redisson 的原理
java·后端
chirrupy_hamal15 小时前
网络编程 - TCP 篇
java
notillusion16 小时前
KWW#71843
java·php·程序优化
Deschen16 小时前
设计模式-抽象工厂模式
java·设计模式·抽象工厂模式
齐木卡卡西在敲代码16 小时前
java流式编程学习
java
ʚ希希ɞ ྀ16 小时前
SpringBoot的学习
java·spring boot·学习
notillusion16 小时前
TRX#22597
java·php·程序优化
冬天的雪200817 小时前
java内存性能优化工具Mat
java·开发语言
Le1Yu17 小时前
消息队列以及RabbitMQ的使用
java·开发语言