欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

知识点整理之Java的Cookie操作

程序员文章站 2022-07-12 09:19:18
...

创建Cookie

// new一个Cookie对象,键值对为参数
Cookie cookie = new Cookie("key", "value");
// 设置Cookie最大生存时间,以秒为单位,负数的话为浏览器进程,关闭浏览器Cookie消失
cookie.setMaxAge(60);  // 一分钟
// 将Cookie添加到Response中,使之生效
response.addCookie(cookie);

 读取Cookie,读取Cookie只能从request中获取全部Cookie,然后迭代之.虽然Cookie也是键值对,但是貌似不能像Map一样通过Key来获取值.

// 从request中获取Cookie,拿到的是一个Cookie数组
Cookie[] cookies = request.getCookies();
// 然后迭代之
if (cookies != null && cookies.length > 0) { //如果没有设置过Cookie会返回null
    for (Cookie cookie : cookies) {...}
}

 删除Cookie,删除Cookie的话,只需要将Cookie的生存期设为0即可

Cookie[] cookies = request.getCookies();
if (cookies != null && cookies.length > 0) {
    for (Cookie cookie : cookies) {
        String name = cookie.getName();
        // 找到需要删除的Cookie
        if (name.compareTo("key") == 0) {
            // 设置生存期为0
            cookie.setMaxAge(0);
            // 设回Response中生效
            response.addCookie(cookie);
        }
    }
}

 修改Cookie,修改Cookie和删除的步骤是一样的,先找到需要删除的Cookie,然后设置它的新的Value,再设回Response

Cookie[] cookies = request.getCookies();
if (cookies != null && cookies.length > ) {
    for (Cookie cookie : cookies) {
        if (cookie.getName.compareTo("key") == 0) {
            cookie.setValue("newValue");
            response.addCookie(cookie);
            break;
        }
    }
}
 
相关标签: Cookie Java