java中没有直接删除Cookie的方法
使用java代码删除Cookie
步骤:
-
创建与要删除的cookie同名的cookie,将其值设置成"";
-
将这个cookie的最大存活时间设置成0;
-
设置这个cookie的有效路径(与原cookie的有效路径一致);
-
将这个新的cookie响应给浏览器,置换原来的cookie;
之前的Cookie
@WebServlet(urlPatterns = "/cookiePathServlet")
public class CookiePathServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Cookie cookie = new Cookie("name", "Hello Cookie");
//cookie的存活时间为10分钟
cookie.setMaxAge(600);
cookie.setPath("/test/a");
response.addCookie(cookie);
}
}
之后的代码
@WebServlet(urlPatterns = "/cookiePathServlet")
public class CookiePathServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Cookie cookie = new Cookie("name", "Hello Cookie");
//cookie的存活时间为10分钟
cookie.setMaxAge(600);
cookie.setPath("/test/a");
response.addCookie(cookie);
//新的Cookie 覆盖 旧的Cookie
Cookie name = new Cookie("name", "");
name.setMaxAge(0);
name.setPath("/test/a");
response.addCookie(name);
}
}