前后台分离,跨域请求,cookie丢失问题

直接贴源码

前台

$.ajax({
         // 设置请求可以携带cookie
        xhrFields:{
            withCredentials:true
        },
        crossDomain: true,
        contentType: 'application/json',


web.xml

   
        contextFilter
        filter.SimpleCORSFilter
   

   
        contextFilter
        /*
   


filter:

HttpServletResponse response = (HttpServletResponse) res;
        HttpServletRequest  request=(HttpServletRequest) req;
          //解决Cookie跨域问题
          response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
          response.setHeader("Access-Control-Allow-Credentials", "true");
          response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
          response.setHeader("Access-Control-Allow-Methods","GET, POST, PUT, DELETE");

          //解决 Content-Type:application/json 时跨域设置失败问题
          if("OPTIONS".equals(request.getMethod())) {
              //放行OPTIONS请求
              chain.doFilter(request, response);
              return;
          }

chain.doFilter(req, res);

你可能感兴趣的:(javase)