Cookie与Session(Session_key)的联系

发布时间:2024年01月11日

web 2.0? 它是具有交互性的,所以http协议由于对于交互性的不完善,所以使用了 Cookie 与Session 协助使用。弥补了http无状态的缺陷。

但是为什么有要产生两个数据类型记录状态呢?

这是因为,状态不可以是随意定义的,需要服务端与客户端双方都认同。

所以相对的,对于一些后台管理系统(只有一位用户就可以不使用cookie机制了)

session与cookie都是有服务器生成的key-value键值对,用来存储特定的值的。

session存储在服务器,cookie存储在浏览器。

cookie的生命周期决定因素:

生成cookie时的的属性,以及自身的保存处理

session的生命周期决定因素:

服务器对于session对于对象的保存

cookie与session都是有默认的作用域的

cookie的属性项

Cookie的基本使用
(1)发送cookie
创建cookie对象,设置数据Cookie cookie = new Cookie( “key” ,” value” );2发送cookie到客户端:使用response对象response.addCookie(cookie):
( 2)获取cookie
获取客户端携带的所有cookie,使用request对象Cookiel cookies = request.getCookies()
遍历数组,获取每一个cookie对象:for

Session的使用


Session对象功能
void setAttribute(String name, Object o) : 存储数据到session域中

Object getAttribute(String name) : 根据key,获取值

void removeAttribute(String name): 根据key,删除该键值对

session自动创建的时机

        // 获取会话对象 
        HttpSession session = request.getSession(); 

        // 设置会话属性 
        session.setAttribute("username", "john"); 
        session.setAttribute("cart", cartItems);

        // 获取会话属性 String username = (String) 
        session.getAttribute("username");
        List<Item> cart = (List<Item>)
        session.getAttribute("cart");

部分内容来自B站,学习使用。

文章来源:https://blog.csdn.net/weixin_55990599/article/details/135521690
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。