Package cn.utils; Import Java.util.HashMap; Import Java.util.Map; Import Javax.servlet.http.Cookie; Import Javax.servlet.http.HttpServletRequest; Import Javax.servlet.http.HttpServletResponse; /** * Tool class for manipulating cookies (the valid path for the default cookie is "/") * @author Zwq * @version 1.0 */ public class Cookieutil { /** * Set Cookies * @param response @see Javax.servlet.http.HttpServletResponse * @param name Cookie name * @param value Cookie values * @param maximum active time of MaxAge cookie (unit s) */ public static void Setcookie (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); } /** * Obtain cookies based on cookie name * @param request @see Javax.servlet.http.HttpServletRequest * @param name Cookie name * @return */ public static Cookie Getcookiebyname (httpservletrequest request,string name) { map<string,cookie> Cookiemap = getcookiemap (request); if (Cookiemap.containskey (name)) { Cookie cookie = (cookie) cookiemap.get (name); return cookie; }else{ return null; } } /** * Get a Map collection of cookies (Key=cookiename,value=cookie) * @param request @see Javax.servlet.http.HttpServletRequest * @return */ private static map<string,cookie> Getcookiemap (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; } /** * Detects if a cookie exists based on the specified cookie name * @param request @see Javax.servlet.http.HttpServletRequest * @param name Cookie name * @return */ public static Boolean checkcookiebyname (HttpServletRequest request,string name) { if (name = null && Name.trim ()! = "") { Cookie cookie = getcookiebyname (request, name); if (cookie = null) { return true; } } return false; } /** * Delete Cookies According to the specified cookie name * @param request @see Javax.servlet.http.HttpServletRequest * @param response @see Javax.servlet.http.HttpServletResponse * @param name Cookie name */ public static Boolean Removecookie (HttpServletRequest request, HttpServletResponse response,string name) { if (name = null && Name.trim ()! = "") { cookie[] cookies = request.getcookies (); if (cookie = null && cookies.length > 0) { for (Cookie cookie:cookies) { String cookiename = Cookie.getname (); Find the cookie you want to delete if (Name.equals (cookiename)) { Set Lifetime to 0 Cookie.setmaxage (0); Set back to response in effect Response.addcookie (cookie); return true; } } } } return false; } } |