CookieUtils
package com.test.utils;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.ArrayUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class CookieUtils {
private static final Logger logger = LoggerFactory.getLogger(CookieUtils.class);
/**
* 获取cookie
*
* @param request
* @param name
* @return
*/
public static Cookie getCookie(HttpServletRequest request, String name) {
Cookie cookie = null;
Cookie[] cookies = request.getCookies();
if (ArrayUtils.isNotEmpty(cookies)) {
for (Cookie c : cookies) {
if (c.getName().equals(name)) {
cookie = c;
break;
}
}
}
return cookie;
}
/**
* 添加cookie
*
* @param response
* @param name
* @param value
* @param maxAge
*/
public static void addCookie(HttpServletResponse response, String name, String value, int maxAge){
Cookie cookie = new Cookie(name.trim(), value.trim());
cookie.setMaxAge(maxAge);
cookie.setPath("/");
response.addCookie(cookie);
}
/**
* 编辑cookie
*
* @param request
* @param response
* @param cookieName
* @param cookieValue
* @return
*/
public static void editCookie(HttpServletRequest request, HttpServletResponse response, String cookieName,
String cookieValue, int maxAge) {
boolean flag = false;
Cookie[] cookies = request.getCookies();
if (ArrayUtils.isNotEmpty(cookies)) {
for (Cookie cookie : cookies) {
if (cookie.getName().equals(cookieName)) {
cookie.setValue(cookieValue);
cookie.setPath("/");
cookie.setMaxAge(maxAge);
response.addCookie(cookie);
flag = true;
break;
}
}
}
if (!flag) {
addCookie(response, cookieName, cookieValue, maxAge);
}
}
/**
* 删除cookie
*
* @param request
* @param response
* @param name
*/
public static void delCookie(HttpServletRequest request, HttpServletResponse response, String name) {
Cookie[] cookies = request.getCookies();
if (ArrayUtils.isNotEmpty(cookies)) {
for (Cookie cookie : cookies) {
if (cookie.getName().equals(name)) {
cookie.setValue(null);
cookie.setMaxAge(0);// 立即销毁cookie
cookie.setPath("/");
response.addCookie(cookie);
break;
}
}
}
}
}