标签:
1 import javax.servlet.http.Cookie; 2 import javax.servlet.http.HttpServletRequest; 3 import javax.servlet.http.HttpServletResponse; 4 import java.io.UnsupportedEncodingException; 5 import java.net.URLDecoder; 6 import java.net.URLEncoder; 7 8 /** 9 * Cookie工具类 10 */ 11 public class CookieUtil { 12 /** 13 * 设置 Cookie(生成时间为1天) 14 * @param name 名称 15 * @param value 值 16 */ 17 public static void setCookie(HttpServletResponse response, String name, String value) { 18 setCookie(response, name, value, 60*60*24); 19 } 20 21 /** 22 * 设置 Cookie 23 * @param name 名称 24 * @param value 值 25 */ 26 public static void setCookie(HttpServletResponse response, String name, String value, String path) { 27 setCookie(response, name, value, path, 60*60*24); 28 } 29 30 /** 31 * 设置 Cookie 32 * @param name 名称 33 * @param value 值 34 * @param maxAge 生存时间(单位秒) 35 */ 36 public static void setCookie(HttpServletResponse response, String name, String value, int maxAge) { 37 setCookie(response, name, value, "/", maxAge); 38 } 39 40 /** 41 * 设置 Cookie 42 * @param name 名称 43 * @param value 值 44 * @param maxAge 生存时间(单位秒) 45 */ 46 public static void setCookie(HttpServletResponse response, String name, String value, String path, int maxAge) { 47 Cookie cookie = new Cookie(name, null); 48 cookie.setPath(path); 49 cookie.setMaxAge(maxAge); 50 try { 51 cookie.setValue(URLEncoder.encode(value, "utf-8")); 52 } catch (UnsupportedEncodingException e) { 53 e.printStackTrace(); 54 } 55 response.addCookie(cookie); 56 } 57 58 /** 59 * 获得指定Cookie的值 60 * @param name 名称 61 * @return 值 62 */ 63 public static String getCookie(HttpServletRequest request, String name) { 64 return getCookie(request, null, name, false); 65 } 66 /** 67 * 获得指定Cookie的值,并删除。 68 * @param name 名称 69 * @return 值 70 */ 71 public static String getCookie(HttpServletRequest request, HttpServletResponse response, String name) { 72 return getCookie(request, response, name, true); 73 } 74 /** 75 * 获得指定Cookie的值 76 * @param request 请求对象 77 * @param response 响应对象 78 * @param name 名字 79 * @param isRemove 是否移除 80 * @return 值 81 */ 82 public static String getCookie(HttpServletRequest request, HttpServletResponse response, String name, boolean isRemove) { 83 String value = null; 84 Cookie[] cookies = request.getCookies(); 85 if (cookies != null) { 86 for (Cookie cookie : cookies) { 87 if (cookie.getName().equals(name)) { 88 try { 89 value = URLDecoder.decode(cookie.getValue(), "utf-8"); 90 } catch (UnsupportedEncodingException e) { 91 e.printStackTrace(); 92 } 93 if (isRemove) { 94 cookie.setMaxAge(0); 95 response.addCookie(cookie); 96 } 97 } 98 } 99 } 100 return value; 101 } 102 }
IT技术和行业交流群 417691667
标签:
原文地址:http://www.cnblogs.com/sun-rain/p/5723851.html