你的位置:首页 > Java教程

[Java教程]常用cookie处理方法工具类


功能:cookie的添加、删除、获取值

 1 import java.io.UnsupportedEncodingException; 2 import java.net.URLDecoder; 3  4 import javax.servlet.http.Cookie; 5 import javax.servlet.http.HttpServletRequest; 6 import javax.servlet.http.HttpServletResponse; 7  8 /** 9  * 常用cookie处理方法工具类10 */11 public class CookieUtil {12   13   /**14    * 添加cookie15    * @param response16    * @param key cookie主键17    * @param value cookie值18   */19   public static void addCookie(HttpServletResponse response, String key, String value){20     Cookie cookie = new Cookie(key, value);21     cookie.setPath("/");// 这个要设置 22     cookie.setMaxAge(60*60*24*30);//保留一个月 以秒为单位 23     response.addCookie(cookie);24   }25   26   /**27    * 删除cookie28    * @param request29    * @param response30    * @param key cookie主键31   */32   public static void deleteCookie(HttpServletRequest request, HttpServletResponse response, String key){33     Cookie cookies[] = request.getCookies(); 34     if (cookies != null) { 35       for (int i = 0; i < cookies.length; i++) { 36         if (cookies[i].getName().equals(key)) { 37           Cookie cookie = new Cookie(key,null);38           cookie.setPath("/");//设置成跟写入cookies一样的 39           cookie.setMaxAge(0); 40           response.addCookie(cookie); 41         } 42       } 43     } 44   }45   46   /**47    * 取得cookie的值48    * @param request49    * @param key cookie主键50   */51   public static String getCookieValue(HttpServletRequest request, String key) throws UnsupportedEncodingException{52     for(Cookie cookie : request.getCookies()){53       if (cookie.getName().equals(key)) {  54         return URLDecoder.decode(cookie.getValue(), "UTF-8"); 55       } 56     }57     return null;58   }59 }