HttpSession对象详解,超实用(易理解版)

同样我们通过session对象与购物车进行类比来为大家讲解:

1.类比购物车

当你去超市购物时,你可能会推一个购物车来存放你想购买的商品。这个购物车在整个购物过程中跟随你,直到你结账。Session对象在Web应用程序中的作用类似,它用来存储用户在浏览网站时的一些信息,直到用户完成某些操作(如登录、购买商品)。

1.1创建购物车(Session)

当你进入超市时,工作人员会给你一个空的购物车。在Servlet中,当你访问一个受保护的资源时,如果没有Session,服务器会自动创建一个新的Session对象,就像给你一个空的购物车。

HttpSession session = request.getSession();

1.2向购物车添加商品(设置属性)

当你选择商品时,你会把它们放入购物车。在Servlet中,你可以使用setAttribute方法将信息(如用户ID、购物车中的商品等)添加到Session中。

session.setAttribute("userId", "12345");
session.setAttribute("productName", "awei");

1.3查看购物车中的商品(获取属性)

当你想查看购物车中有什么商品时,你会直接看购物车。在Servlet中,你可以使用getAttribute方法来获取Session中存储的信息。

String userId = (String) session.getAttribute("userId");
String productName = (String) session.getAttribute("productName");

1.4 从购物车中移除商品(移除属性)

如果你改变主意,不想购买某个商品了,你会从购物车中取出它。在Servlet中,你可以使用removeAttribute方法来移除Session中的属性。

session.removeAttribute("productName");

1.5结账(使Session失效)

当你完成购物并结账后,购物车就完成了它的使命。在Servlet中,当用户完成操作(如注销)时,你可以使用invalidate方法来使Session失效,这就像你结账后把购物车放回超市。

session.invalidate();

1.6购物车的容量(Session超时)

购物车的大小是有限的,你不能无限制地往里面放商品。同样,Session也有大小限制,并且有超时设置,如果用户在一定时间内没有活动,Session就会失效。

session.setMaxInactiveInterval(30); // 设置Session超时时间为30分钟

1.7购物车的唯一性(Session ID)

每个购物车都有一个独特的编号,这样工作人员就可以区分不同的购物车。Session对象也有一个唯一的ID,用来标识每个用户的会话。

2.session常用属性

属性意义
idSession的唯一标识符
isNew指示Session是否是新创建的
isValid检查Session是否有效
creationTimeSession的创建时间
lastAccessedTimeSession最后一次被访问的时间
maxInactiveIntervalSession超时时间(以秒为单位)

3.session常用方法

方法作用
getAttribute(String name)根据名称获取存储在Session中的属性值
setAttribute(String name, Object value)将一个对象存储在Session中,通过名称作为键
removeAttribute(String name)从Session中移除指定名称的属性
invalidate()使Session失效,清除Session中的所有属性,并使Session ID无效
isNewSession()检查Session是否是新创建的
setMaxInactiveInterval(int interval)设置Session的最大非活动时间(以秒为单位)
getId()获取Session的ID
getCreationTime()获取Session的创建时间
getLastAccessedTime()获取Session最后一次被访问的时间

本期分享就结束啦,下一期分享session对象在开发中的应用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值