|
/** |
|
* |
|
*/ |
|
package com.newcoresys.utils; |
|
|
|
import javax.servlet.http.Cookie; |
|
import javax.servlet.http.HttpServletRequest; |
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
/** |
|
* Cookie工具类 |
|
* |
|
* @author joeymac |
|
* |
|
*/ |
|
public class CookieEx { |
|
|
|
public static final String COOKIE_KEY_SESSIONID = "gttsid"; |
|
|
|
/** |
|
* 从request cookie中取出sessionid |
|
* |
|
* @param request |
|
* @return |
|
*/ |
|
public static String getSessionidFromCookie(HttpServletRequest request) { |
|
return getCookie(request, COOKIE_KEY_SESSIONID); |
|
} |
|
|
|
/** |
|
* 获取cookie |
|
* |
|
* @param requst |
|
* @param name |
|
* @return |
|
*/ |
|
public static Cookie getCookieObject(HttpServletRequest request, String name) { |
|
Cookie[] cookies = request.getCookies(); |
|
if (cookies != null) |
|
for (Cookie cookie : cookies) |
|
if (cookie.getName().equals(name)) |
|
return cookie; |
|
return null; |
|
} |
|
|
|
/** |
|
* 获取cookie中的值,如果不存在返回默认值 |
|
* |
|
* @param requst |
|
* @param name |
|
* @param defaultValue |
|
* @return |
|
*/ |
|
public static String getCookie(HttpServletRequest requst, String name, |
|
String defaultValue) { |
|
Cookie cookie = getCookieObject(requst, name); |
|
return cookie != null ? cookie.getValue() : defaultValue; |
|
} |
|
|
|
/** |
|
* 获取cookie中的值,如果不存在则返回null |
|
* |
|
* @param requst |
|
* @param name |
|
* @return |
|
*/ |
|
public static String getCookie(HttpServletRequest requst, String name) { |
|
return getCookie(requst, name, null); |
|
} |
|
|
|
/** |
|
* 设置cookie |
|
* |
|
* @param response |
|
* @param name |
|
* @param value |
|
* @return |
|
*/ |
|
public static HttpServletResponse setCookie(HttpServletRequest request, |
|
HttpServletResponse response, String name, String value) { |
|
Cookie cookie = getCookieObject(request, name); |
|
if (cookie == null) { |
|
cookie = new Cookie(name, value); |
|
} else { |
|
cookie.setValue(value); |
|
} |
|
cookie.setPath("/"); |
|
cookie.setHttpOnly(true); |
|
response.addCookie(cookie); |
|
return response; |
|
} |
|
|
|
/** |
|
* 设置cookie,默认使用{@link #COOKIE_KEY_SESSIONID} |
|
* |
|
* @param response |
|
* @param name |
|
* @param value |
|
* @return |
|
*/ |
|
public static HttpServletResponse setCookie(HttpServletRequest request, |
|
HttpServletResponse response, String value) { |
|
return setCookie(request, response, COOKIE_KEY_SESSIONID, value); |
|
} |
|
|
|
/** |
|
* 删除gtt的cookie |
|
* @param request |
|
* @param response |
|
* @return |
|
*/ |
|
public static HttpServletResponse removeCookie(HttpServletRequest request, |
|
HttpServletResponse response) { |
|
return removeCookie(request, response, COOKIE_KEY_SESSIONID); |
|
} |
|
|
|
/** |
|
* 删除cookie |
|
* @param request |
|
* @param response |
|
* @param name |
|
* @return |
|
*/ |
|
public static HttpServletResponse removeCookie(HttpServletRequest request, |
|
HttpServletResponse response, String name) { |
|
Cookie cookie = getCookieObject(request, name); |
|
if (cookie != null) { |
|
cookie.setMaxAge(0); |
|
response.addCookie(cookie); |
|
} |
|
return response; |
|
} |
|
|
|
} |