JSP在转发后不会立即显示Cookie

时间:2015-03-27 16:50:17

标签: jsp cookies forward

我有以下问题:我有一些JSP页面。当我在主页面上时,我可以添加Cookie。在CookieAdd页面中,我添加了一个Cookie并使用jsp:forward重定向到主页面。然后添加的Cookie应该显示,但它不会立即显示。我必须重新加载页面才能看到新添加的cookie。我怎么能立刻看到它? 谢谢,汤姆。

<% Cookie c = new Cookie(request.getParameter("name"), ""); c.setMaxAge(0); response.addCookie(c); %> <html> <body>

`<jsp:forward page="Cookiemanager.jsp" />`

</body> </html>

1 个答案:

答案 0 :(得分:0)

您没有重定向到主页面。您转发到主页面。转发完全发生在服务器端。服务器没有收到任何新请求:相同的原始请求只是由另一个JSP处理。因此,当第二个JSP处理相同的请求时,原始请求中不存在的cookie仍然不存在。

重定向完全不同。重定向包括要求浏览器转到另一个URL。如果您这样做,那么浏览器将在重定向响应中接收cookie,然后将包含cookie的新请求发送到新JSP。

请注意,您发布的代码不应该在JSP中。 JSP是一个视图组件。它的目标不是设置cookie或转发/重定向。它的目标是生成HTML。这样的代码应该在用Java编写的servlet中。