Java web-httpservlet中cookie的用法

2023-02-02 10:57:09 浏览数 (2)

什么是cookie?

Cookie:客户端会话技术,将数据保存到客户端,以后每次请求都携带Cookie数据进行访问,Cookie 数据存放在浏览器端(客户端)。

创建cookie

下面是创建cookie的示例代码:

代码语言:javascript复制
// 1.创建cookie,key是数据的名称,value是数据的值
cookie cookie = new cookie("key","value");
// 2.使用response响应Cookie给客户端(浏览器)
response.addCookie(cookie);

获取cookie

每次用户访问servlet的时候,客户端会携带数据,一起发送过来,这个时候就可以使用httpservlet中的request对象获取到cookie的值。

下面是示例代码:

代码语言:javascript复制
 Cookie[] cookies = req.getCookies();//此处通过request获取传输过来的Cookies集。
 //下面对传输过来的Cookies集进行遍历输出
 for (int i = 0; i < cookies.length; i  ) {
    Cookie cookie = cookies[i];
    System.out.println("key:"   cookie.getName()   ","  cookie.getValue());
 }

封装一个直接通过cookie名字查找到cookie值的方法

代码语言:javascript复制
public static Cookie findCookie(String name , Cookie[] cookies){ 
    if (name == null || cookies == null || cookies.length == 0) { 
        return null; 
    }
    for (Cookie cookie : cookies) { //此处含义是循环cookies集中的每个值,赋给cookie
         if (name.equals(cookie.getName())) {
              return cookie;
        } 
    }
    return null;
 }

设置Cookie的过期时间

setMaxAge(int seconds):设置Cookie存活时间

1.正数:将Cookie写入浏览器所在的电脑硬盘,持久化存储,到期自动删除

2.负数:默认值,Cookie存储在浏览器内存中,当浏览器关闭,内存释放,则Cookie被销毁。

3.零:删除对应Cookie

本文共 263 个字数,平均阅读时长 ≈ 1分钟

0 人点赞