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;
}
}
|