博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CookieUtil.java
阅读量:6680 次
发布时间:2019-06-25

本文共 3384 字,大约阅读时间需要 11 分钟。

package util;import java.io.UnsupportedEncodingException;import java.net.URLDecoder;import java.net.URLEncoder;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 CookieUtil {    /**     * 设置cookie     * @param name  cookie名字     * @param value cookie值     * @param maxAge cookie生命周期  以秒为单位     */    public static void addCookie(HttpServletResponse res,String name,String value,String domain,int maxAge){                  try {            value = URLEncoder.encode(""+value, "utf-8");        } catch (UnsupportedEncodingException e) {            e.printStackTrace();        }                Cookie cookie = new Cookie(name, value + "" );        cookie.setPath("/");        cookie.setDomain(domain);        if(maxAge>0)  cookie.setMaxAge(maxAge);        res.addCookie(cookie);    }        /**     * 根据名字获取cookie     * @param name cookie名字     * @return     */    public static Cookie getCookieByName(HttpServletRequest req,String name){        Map
cookieMap = getCookieMap(req); if(cookieMap.containsKey(name)){ Cookie cookie = (Cookie)cookieMap.get(name); return cookie; }else{ return null; } } /** * 将cookie封装到Map里面 * @return */ private static Map
getCookieMap(HttpServletRequest req){ Map
cookieMap = new HashMap
(); Cookie[] cookies = req.getCookies(); if(null!=cookies){ for(Cookie cookie : cookies){ cookieMap.put(cookie.getName(), cookie); } } return cookieMap; } public static boolean deleteCookie(HttpServletRequest req,HttpServletResponse res,String cookieName) { if (cookieName != null) { Cookie cookie = getCookie(req,cookieName); if(cookie!=null){ cookie.setMaxAge(0);//0,就立即删除 cookie.setPath("/");//不要漏掉 cookie.setDomain(req.getServerName()); res.addCookie(cookie); return true; } } return false; } public static String getValue(HttpServletRequest req,String cookieName){ Cookie cookie = getCookie(req,cookieName); return getValue(cookie); } public static String getValue(Cookie cookie){ if(null == cookie) return null; try { return URLDecoder.decode(cookie.getValue(), "utf-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return null; } public static Cookie getCookie(HttpServletRequest req,String cookieName){ Cookie[] cookies = req.getCookies(); Cookie cookie = null; try { if (cookies != null && cookies.length > 0) { for (int i = 0; i < cookies.length; i++) { cookie = cookies[i]; if (cookie.getName().equals(cookieName)) { return cookie; } } } } catch (Exception e) { e.printStackTrace(); } return null; } }

转载于:https://www.cnblogs.com/kibana/p/8818167.html

你可能感兴趣的文章
Elasticsearch 空值过滤
查看>>
spring、springboot、springcloud的区别
查看>>
ActiveMQ入门实例
查看>>
POJ1797 Heavy Transportation
查看>>
MySQL查看和修改表的存储引擎
查看>>
py学习之道
查看>>
vs2015 + opencv3.4.0 + qt msvc2015_64-5.7.1 视屏显示
查看>>
关于——GCD
查看>>
2017-3-2 智慧吉首调研工作
查看>>
求解,一道嵌入式公司面试题
查看>>
easyUI的基础布局
查看>>
o(1)复杂度之双边滤波算法的原理、流程、实现及效果。
查看>>
Mongodb安装和基本命令
查看>>
python中requests模块使用
查看>>
git bash 常用命令 新手学习
查看>>
日记2014/06/25
查看>>
springboot+Druid+oracle 配置p6spy
查看>>
Maven编译、打war包
查看>>
九 循环
查看>>
组织炎症水平高的RA患者接受TNF拮抗剂治疗的效果更好
查看>>