cookie 实用工具类


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 CookiesUtil {

	/**
	 * 添加Cookie对象
	 * 
	 * @param response
	 *            请求
	 * @param name
	 *            名称
	 * @param value
	 *            内容
	 * @param path
	 *            路径
	 * @param expiry
	 *            有效时间(秒)
	 * @return
	 */
	public static boolean setCookie(HttpServletResponse response, String name, String value,String domain, String path, int expiry) {
		Cookie cookie = new Cookie(name, value);
		cookie.setDomain(domain);
		cookie.setMaxAge(expiry);// Cookie有效时间(秒):-1关闭浏览器失效,0立即失效,大于1为具体时间
		cookie.setPath(path);
		response.addCookie(cookie);

		return false;
	}

	/**
	 * 根据名字获取cookie
	 * 
	 * @param request
	 * @param name
	 *            名称
	 * @param path
	 *            路径
	 * @return
	 */
	public static Cookie getCookieByName(HttpServletRequest request, String name, String path) {
		Map<String, Cookie> cookieMap = ReadCookieMap(request);
		if (cookieMap.containsKey(name)) {
			Cookie cookie = (Cookie) cookieMap.get(name);
			return cookie;
		} else {
			return null;
		}
	}

	/**
	 * 移除客户端Cookie对象
	 * 
	 * @param request
	 *            请求
	 * @param response
	 *            响应
	 * @param name
	 *            名称
	 * @param path
	 *            路径
	 * @return
	 */
	public static boolean removeCookie(HttpServletRequest request, HttpServletResponse response,String domain, String name,
			String path) {
		// -- 清除客户端Cookie
		try {
			Cookie cookie = CookiesUtil.getCookieByName(request, name, path);
			if (cookie != null) {
				cookie.setMaxAge(0);
				cookie.setDomain(domain);
				cookie.setPath(path);
				cookie.setValue(null);
				response.addCookie(cookie);
				return true;
			}
		} catch (Exception e) {
		}
		return false;
	}

	/**
	 * 将cookie封装到Map里面
	 * 
	 * @param request
	 * @return
	 */
	private static Map<String, Cookie> ReadCookieMap(HttpServletRequest request) {
		Map<String, Cookie> cookieMap = new HashMap<String, Cookie>();
		Cookie[] cookies = request.getCookies();
		if (null != cookies) {
			for (Cookie cookie : cookies) {
				cookieMap.put(cookie.getName(), cookie);
			}
		}
		return cookieMap;
	}

}

 

转载于:https://www.cnblogs.com/ai211234/p/6406692.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值