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/