Session会话

1.Session 会话概念

  • Session 就一个接口(HttpSession)。
  • Session 就是会话。它是用来维护一个客户端和服务器之间关联的一种技术。
  • 每个客户端都有自己的一个 Session 会话。
  • Session 会话中,我们经常用来保存用户登录之后的信息。

2.创建 Session 和获取

如何创建和获取 Session。

request.getSession()

  • 第一次调用是:创建 Session 会话
  • 之后调用都是:获取前面创建好的 Session 会话对象。

isNew(); 判断到底是不是刚创建出来的(新的)

  • true 表示刚创建
  • false 表示获取之前创建

注:
每个会话都有一个身份证号。也就是 ID 值。
而且这个 ID 是唯一的。
getId() 得到 Session 的会话 id 值。

3.Session 域数据的存取

1.往Session中保存数据

req.getSession().setAttribute("key1", "value1");

2.获取Session域中的数据

req.getSession().getAttribute("key1");

4.Session 生命周期控制

设置Session超时时间:(session超时指的是,客户端两次请求的最大间隔时常)

setMaxInactiveInterval(int interval) :设置 Session 的超时时间(以秒为单位),超过指定的时长,Session 就会被销毁。

  • interval为正数的时候,设定 Session 的超时时长。
  • interval为负数表示永不超时(极少使用)
  • invalidate() 让当前 Session 会话马上超时无效。

Session 默认的超时时间长为 30 分钟。

如果说,你希望你的 web 工程,默认的 Session 的超时时长为其他时长。你可以在 web.xml 配置文件中修改你的 web 工程所有 Seession 的默认超时时长。

<session-config> 
	<session-timeout>20</session-timeout>
</session-config>

getMaxInactiveInterval():获取 Session 的超时时间

让session 3秒后 超时:

// 先获取 Session 对象
 HttpSession session = req.getSession(); 
// 设置当前 Session3 秒后超时
session.setMaxInactiveInterval(3);

让session 马上 超时:

// 先获取 Session 对象 
HttpSession session = req.getSession();
// 让 Session 会话马上超时 
session.invalidate();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值