前后端项目的跨域问题解决

时间:2025-04-01 14:54:41
  • @WebFilter(filterName = "kuaYuFilter", urlPatterns = "/*")
  • public class kuayuFilter implements Filter {
  • @Override
  • public void init(FilterConfig filterConfig) throws ServletException {
  • }
  • @Override
  • public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
  • throws IOException, ServletException {
  • HttpServletResponse response = (HttpServletResponse) servletResponse;
  • HttpServletRequest request = (HttpServletRequest) servletRequest;
  • // 不使⽤*,⾃动适配跨域域名,避免携带Cookie时失效
  • String origin = ("Origin");
  • ("Access-Control-Allow-Origin", origin);
  • // ⾃适应所有⾃定义头
  • String headers = ("Access-Control-Request-Headers");
  • ("Access-Control-Allow-Headers", headers);
  • ("Access-Control-Expose-Headers", headers);
  • // 允许跨域的请求⽅法类型
  • ("Access-Control-Allow-Methods", "*");
  • // 预检命令(OPTIONS)缓存时间,单位:秒
  • ("Access-Control-Max-Age", "3600");
  • // 明确许可客户端发送Cookie,不允许删除字段即可
  • ("Access-Control-Allow-Credentials", "true");
  • (request, response);
  • }
  • @Override
  • public void destroy() {
  • }
  • }