Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
©Copyright 蕃薯耀 2017年7月15日
http://www.cnblogs.com/fanshuyao/
import java.io.IOException; import java.util.HashMap; import java.util.Map; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class CookieUtils { public static final int COOKIE_MAX_AGE = 7 * 24 * 3600; public static final int COOKIE_HALF_HOUR = 30 * 60; /** * 根据Cookie名称得到Cookie对象,不存在该对象则返回Null * * @param request * @param name * @return */ public static Cookie getCookie(HttpServletRequest request, String name) { Cookie[] cookies = request.getCookies(); if (StrUtils.isEmptyArray(cookies)) { return null; } Cookie cookie = null; for (Cookie c : cookies) { if (name.equals(c.getName())) { cookie = c; break; } } return cookie; } /** * 根据Cookie名称直接得到Cookie值 * * @param request * @param name * @return */ public static String getCookieValue(HttpServletRequest request, String name) { Cookie cookie = getCookie(request, name); if(cookie != null){ return cookie.getValue(); } return null; } /** * 移除cookie * @param request * @param response * @param name 这个是名称,不是值 */ public static void removeCookie(HttpServletRequest request, HttpServletResponse response, String name) { if (null == name) { return; } Cookie cookie = getCookie(request, name); if(null != cookie){ cookie.setPath("/"); cookie.setValue(""); cookie.setMaxAge(0); response.addCookie(cookie); } } /** * 添加一条新的Cookie,可以指定过期时间(单位:秒) * * @param response * @param name * @param value * @param maxValue */ public static void setCookie(HttpServletResponse response, String name, String value, int maxValue) { if (StrUtils.isBlank(name)) { return; } if (null == value) { value = ""; } Cookie cookie = new Cookie(name, value); cookie.setPath("/"); if (maxValue != 0) { cookie.setMaxAge(maxValue); } else { cookie.setMaxAge(COOKIE_HALF_HOUR); } response.addCookie(cookie); try { response.flushBuffer(); } catch (IOException e) { e.printStackTrace(); } } /** * 添加一条新的Cookie,默认30分钟过期时间 * * @param response * @param name * @param value */ public static void setCookie(HttpServletResponse response, String name, String value) { setCookie(response, name, value, COOKIE_HALF_HOUR); } /** * 将cookie封装到Map里面 * @param request * @return */ public static Map<String,Cookie> getCookieMap(HttpServletRequest request){ Map<String,Cookie> cookieMap = new HashMap<String,Cookie>(); Cookie[] cookies = request.getCookies(); if(!StrUtils.isEmptyArray(cookies)){ for(Cookie cookie : cookies){ cookieMap.put(cookie.getName(), cookie); } } return cookieMap; } }
(如果你觉得文章对你有帮助,欢迎捐赠,^_^,谢谢!)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
©Copyright 蕃薯耀 2017年7月15日
http://www.cnblogs.com/fanshuyao/