cookie

本文介绍了HTTP协议下如何通过Cookie和Session实现用户的会话跟踪。详细解释了Cookie的工作原理及其实现方式,包括如何创建、读取Cookie以及设置其生命周期。

cookie

HTTP协议是一种无状态的协议web服务器本身不能识别出那些请求是同一个浏览器发出的,浏览器的每一次请求都是完全孤立的。
作为web服务器必须能够采用一种机制来唯一的标示一个用户,同时记录该用户的状态。
借助会话状态,web服务器能够把属于同一会话中的一系列的请求和响应过程关联起来。
浏览器会对每个请求消息用SeesionID进行标识
在Servlet中常用Cookie和Seesion完成会话跟踪

cookie原理:浏览器访问web服务器时,web服务器会在http响应消息头中附带一个小文本文件传送给浏览器,然后浏览器每次访问都会将cookie传回web服务器


在JavaWEB规范中使用Cookie类代表cookie

  • 创建一个Cookie对象并调用response的一个方法把Cookie传给客户端
    在这里插入图片描述
    在这里插入图片描述
<%
    //获取Cookie
    Cookie[] cookies=request.getCookies();
    if(cookies!=null&&cookies.length>1){
        for(Cookie cookie:cookies){
            //获取cookie的name和value
            out.print(cookie.getName()+":"+cookie.getValue());
            out.print("<br>");
        }
    }else {
        out.print("没有Cookie正在创建并返回");
        //1.创建一个Cookie对象
        Cookie cookie = new Cookie("name", "wbb");

        //2.调用response的一个方法吧Cookie传给客户端
        response.addCookie(cookie);
    }
%>

默认情况下是一个会话级别的Cookie存储在浏览器内存中,可以使用MaxAge给出Cookie的存活时间,为0则立即删除Cookie

setMaxAge:设置Cookie的最大时效,以秒为单位,为零则立即删除Cookie,为负数则不存储
cookie.setMaxAge(10);

使用Cookie可以实现自动登录

  • 从浏览器读取Cookie
    获取Cookie
Cookie[] Cookies=request.getCookies();
if(cookies!=null&&cookies.length>0){
  for(Cookie cookie:cookies){
    out.print(cookie.getName()+":"+cookie.getValue);
    out.print("<br>");
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值