Cookie[] allCookies=request.getCookies();
for(int i=0;i<allCookies.length;i++)
{
allCookies[i].setMaxAge(0);
response.addCookie(allCookies[i]);
}
session.invalidate();
上面是我删除cookie的代码,session在两个浏览器上都可以删除,试了半天,还把删除后的cookie进行打印,结果就是chrome删除cookie后还是可以直接打印出来,木有变化!但是ie的就直接删掉了。
费解检查了半天的chrome设置,都是default设置啊。各位大侠,我已经在这里纠结很久了
for(int i=0;i<allCookies.length;i++)
{
allCookies[i].setMaxAge(0);
response.addCookie(allCookies[i]);
}
session.invalidate();
上面是我删除cookie的代码,session在两个浏览器上都可以删除,试了半天,还把删除后的cookie进行打印,结果就是chrome删除cookie后还是可以直接打印出来,木有变化!但是ie的就直接删掉了。
费解检查了半天的chrome设置,都是default设置啊。各位大侠,我已经在这里纠结很久了
测试代码
showcookie.jsp
[code=jsp]
<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>Cookie</title>
</head>
<body>
<dl>
<%
Cookie[] cookies = request.getCookies();
for (int i = 0; cookies != null && i < cookies.length; i++) {
Cookie cookie = cookies[i];
%>
<dt><%= cookie.getName() %></dt><dd><%= cookie.getValue() %></dd>
<%
}
%>
</dl>
<ul>
<li><a href="addcookie.jsp">添加</a></li>
<li><a href="delcookie.jsp">删除</a></li>
</ul>
</body>
</html>
[code]addcookie.jsp
[code=jsp]
<%
Cookie cookie = new Cookie("key", new java.util.Date().toString());
response.addCookie(cookie);
response.sendRedirect("showcookie.jsp"); // 不要在一个request里面打印,我这里用redirect
%>
[/code]delcookie.jsp
[code=jsp]
<%
Cookie[] cookies = request.getCookies();
for (int i = 0; cookies != null && i < cookies.length; i++) {
Cookie cookie = cookies[i];
cookie.setMaxAge(0);
response.addCookie(cookie);
}
response.sendRedirect("showcookie.jsp");
%>
[/code]