JSP session对象

17 篇文章 1 订阅
12 篇文章 0 订阅

通过session可以在应用程序的Web页面间进行跳转时,保存用户的状态,使整个用户会话一直存下去,直到关闭浏览器。但是,如果在一个会话中,客户端长时间不向服务器发出请求,session对象就会自动消失,这个时间取决于服务器

创建及获取客户的会话

通过session对象可以存储或读取客户相关的信息,可以通过session对象的setAttribute()方法和getAttribute()方法实现

1. setAttribute()方法
该方法用于将信息保存在session范围内,语法格式如下:

session.setAttribute(String name, Object obj)

2. getAttribute()方法
该方法用于获取保存在session范围内的信息,语法格式如下:

session.getAttribute(String name);

Tip:getAttribute()方法返回值是Object类型,如果将获取到的信息赋值给String类型的变量,需要进行强制类型转换或者调用toString()方法

从会话中移动指定的绑定对象

对于存储在session的对象,如果像将其移除,可以使用session对象的removeAttribute()方法,语法格式如下:

session.removeAttribute(String name)
销毁session

对于某些实时统计在线人数的网站,每次都等session过期后才能统计出准确的人数,是远远不够的,因此还需要手动销毁session。

通过session对象的invalidate()方法可以销毁session,语法格式如下:

session.invalidate();
会话超时的管理

一般来说,session的生命周期在20-30分钟之间,如果用户登录网站后在session的有效期外进行相应操作,用户会得到一个错误页面,这是不允许的。

为了避免这种情况,在开发系统时应该对session的有效性进行判断

在session对象中提供了设置会话生命周期的方法,如下:

  • getLastAccessedTime():返回客户端最后一次与会话相关联的清秋时间
  • getMaxInactiveInterval():以秒为单位返回最后一个会话内两个请求最大时间间隔
  • setMaxInactiveInterval():以秒为单位设置session的有效时间

eg:

session.setMaxInactiveInterval(1000)  // 有效期为1000秒
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值