使用addCookie()响应并发送Redirect()

sur*_*raj 1 cookies servlets

我使用以下代码设置cookie然后重定向.

String level=(String) request.getAttribute("level");

 if(level!=null)
 {
  Cookie cookie=new Cookie("level",level);
  cookie.setMaxAge(-1);
  cookie.setPath("http://localhost:8080/saml");

  response.addCookie(cookie);

  response.sendRedirect("http://?localhost:8080/saml/someservices.jsp");
 }
Run Code Online (Sandbox Code Playgroud)


这段代码工作正常.但我想知道怎么做?因为当jsp引擎解析jsp代码时,它将首先遇到addCookie并发送重定向.它是否尽快添加cookie response.addCookie(cookie);?如果我以相反的方式给它,即首先sendRedirect()然后addCookie()呢?jsp引擎如何看待这个?

ska*_*man 6

Cookie被添加到HTTP响应标头中.重定向也在标题中指定.发送重定向时,两者都会被发送回客户端.

如果颠倒顺序addCookiesendRedirect,它可能仍然工作,这取决于底层的servlet容器事件的确切顺序.不过我不推荐它.