【第22期】观点:IT 行业加班,到底有没有价值?

Cookie工具类

原创 2015年11月21日 17:06:30
/**
 * Cookie工具类
 * 
 */
public class cookieUtil {


    private cookieUtil() {
    }


    /**
     * 设置cookie
     * 
     * @param response
     * @param name
     *            cookie名字
     * @param value
     *            cookie值
     * @param maxAge
     *            cookie生命周期 以秒为单位
     * @throws UnsupportedEncodingException
     */
    public static void addCookie(HttpServletResponse response, String name, String value, int maxAge) throws UnsupportedEncodingException {
        // cookie值转编码
        String value2 = java.net.URLEncoder.encode(value, ConstantUtil.UTF);
        // 创建新的对象
        Cookie cookie = new Cookie(name, value2);
        cookie.setPath("/");
        if (maxAge > 0) {
            cookie.setMaxAge(maxAge);// 设置时间最大值
        }
        // 添加
        response.addCookie(cookie);
    }


    /**
     * 根据名字获取cookie
     * 
     * @param request
     * @param name
     *            cookie名字
     * @return
     */
    public static Cookie getCookieByName(HttpServletRequest request, String name) {
        // 将cookie封装到Map里面
        Map<String, Cookie> cookieMap = ReadCookieMap(request);
        // 查找名字匹配的cookie
        if (cookieMap.containsKey(name)) {
            // 获取该cookie
            return (Cookie) cookieMap.get(name);
        } else {
            return null;
        }
    }


    /***
     * 根据名称删除cookie
     * 
     * @param request
     * @param response
     * @param name
     *            cookie名字
     */
    public static void delCookieByName(HttpServletRequest request, HttpServletResponse response, String name) {
        // 将cookie封装到Map里面
        Map<String, Cookie> cookieMap = ReadCookieMap(request);
        // 查找名字匹配的cookie
        if (cookieMap.containsKey(name)) {
            // 获取该cookie
            Cookie cookie = (Cookie) cookieMap.get(name);
            // 设置有效时间为0,即设置失效
            cookie.setMaxAge(0);
            response.addCookie(cookie);
        }
    }


    /**
     * 将cookie封装到Map里面
     * 
     * @param request
     * @return
     */
    private static Map<String, Cookie> ReadCookieMap(HttpServletRequest request) {
        // 将cookie封装到Map里面
        Map<String, Cookie> cookieMap = new HashMap<String, Cookie>();
        // 获取服务器端的cookie
        Cookie[] cookies = request.getCookies();
        // 如果不为空
        if (null != cookies) {
            // 循环添加进map中
            for (Cookie cookie : cookies) {
                cookieMap.put(cookie.getName(), cookie);
            }
        }
        // 返回
        return cookieMap;
    }


}
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

cookie取值工具类

一般需要cookie取值的时候都是利用HttpServletRequest去获取cookie的值,这边就提供一个简单的工具类: package com.yiyong.mavenspring.demo...

cookie使用工具类

1.可以将对cookie的操作封装到一个工具类,见附件。 2.另外调试cookie的时候可以借助firefox中的firecookie插件进行调试。可以清楚的看到cookie所属的域,一般域都是使用.shop.guoshi.com或者是.guoshi.com等。还有就是路径path。 3.访问一...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

商城项目实战34:单点登录系统SSO最小实现的接口文档及Cookie工具类

1.1. 注册接口 1.1.1. 检查数据是否可用 请求方法 GET URL http://sso.taotao.com/user/check/{param}/{type} ...

J2EE常用工具类—Cookie操作

package cn.org.jshuwei.j2ee.util; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletResponse; /** * * Cookie操作的工具类 * ...

轻松把玩HttpClient之封装HttpClient工具类(五),携带Cookie的请求

转载地址:http://blog.csdn.net/xiaoxian8023/article/details/50474987    最近更新了一下HttpClientUtil工具类代码,主...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)