• 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;
    	}
    
    }
    
  • 相关阅读:
    Stop介绍
    django建站基本步骤
    Js 数组排序函数sort()
    前端面试基础-html篇之CSS3新特性
    前端面试基础-html篇之H5新特性
    2018年前端程序猿最好用的编辑器:visual studio code 常见配置
    适合手机端页面的轮播图,无插件,支持自动循环,一套轮播图可以适应所有的屏幕
    纯css3实现圆点围绕圆圈匀速无限旋转
    xpath 踩坑笔记01 通过a 文本内容标签定位元素
    python3学习记录3
  • 原文地址:https://www.cnblogs.com/ai211234/p/6406692.html
Copyright © 2020-2023  润新知