【发布时间】:2011-12-19 23:03:03
【问题描述】:
我正在做一些非常简单但不起作用的事情。
我有一个带有一个按钮的 html 页面,该按钮应该注销并删除登录 cookie,当按下时,它/在 servlet 中运行此代码:
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
IOException {
deleteCookie(req, resp);
resp.sendRedirect("login");
}
private void deleteCookie(HttpServletRequest req, HttpServletResponse resp) {
Cookie[] cookies = req.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if (CID_KEY_NAME.equals(cookie.getName())) {
cookie.setMaxAge(0); // Should make the browser delete the cookie
cookie.setValue(null);
resp.addCookie(cookie);
}
}
}
}
sendRedirect("login") 将我发送到一个负责登录的新 servlet,但是当我到达新 servlet 并检查上面的 cookie 是否存在时,我可以看到它的 maxage 值为 -1
我做错了吗?
【问题讨论】: