Bei einem negativen Wert handelt es sich um ein Browser-Prozess-Cookie (im Speicher gespeichert), das ungültig wird, wenn der Browser geschlossen wird.
Wenn auf 0 gesetzt, wird das Cookie gelöscht.
public static void delCookie(HttpServletRequest request,HttpServletResponse response,String name) { Cookie cookie = getCookieByName(request, name); if(cookie != null) { cookie.setMaxAge(0); cookie.setPath("/"); response.addCookie(cookie); } } /** * set cookie * @param response * @param name * @param value * @param maxAge */ public static void addCookie(HttpServletResponse response,String name,String value,int maxAge){ Cookie cookie = new Cookie(name,value); cookie.setPath("/"); if(maxAge>0) cookie.setMaxAge(maxAge); response.addCookie(cookie); } public static Cookie getCookieByName(HttpServletRequest request,String name){ Map<String,Cookie> cookieMap = ReadCookieMap(request); if(cookieMap.containsKey(name)){ Cookie cookie = (Cookie)cookieMap.get(name); return cookie; }else{ return null; } } private static Map<String,Cookie> ReadCookieMap(HttpServletRequest request){ Map<String,Cookie> cookieMap = new HashMap<String,Cookie>(); Cookie[] cookies = request.getCookies(); if(null!=cookies){ for(Cookie cookie : cookies){ cookieMap.put(cookie.getName(), cookie); } } return cookieMap; }