一个判断session是否过期的小技巧
前一段时间有好几个问题,提到怎么判断session是否过期。
接触jspo已经很久了,但是还真没有想过这个问题,当时也就没有找到一个满意的答案给人家。
当时,我提到一个方法,就是实现HttpSessionListener接口,然后在sessionDestroyed()方法中执行一些操作,表示session要过期了,因为这个方法是session.invalidate()之前监听器调用的方法。这个判断的方法显然不能让人满意。
我当时问了些人,但是也没有得到一个准确的答案。
正好偶然间看到,request.getSeesion(boolean)方法,一下子让我恍然大悟。这个方法里面传了一个boolean值,这个值如果是true,那么如果当前的request的session不可用,那么就创建新的会话,如果存在就返回当前的会话。如果参数是false,那么在request的当前会话不存在的时候就返回null。
这样我们就可以很容易的联想到这个所谓的request的当前会话是否存在和session过期的联系,所以我们就可以“近似地”认为session不存在就是session过期了,那么我们就可以很容易地判断session是否过期了。方法如下:
if(request.getSession(false)==null)
System.out.println("Session has been invalidated!");
else
System.out.println("Session is active!");
可能大家注意到我上面有一个“近似地”字眼,也就是说存在特别情况。
这个特殊情况就是第一次请求还没有创建会话的时候,那么用这个方法返回的仍然是null,原因我想大家应该是显然的。
以上是个人拙见,希望大家指正。
- · SQL Server中删除重复数据的几个方法
- · SQL Server存储过程编写和优化措施
- · Oracle数据库系统使用经验六则
- · MySQL查询优化系列讲座之查询优化器
- · MySQL查询优化系列讲座之数据类型与效率
- · MySQL查询优化系列讲座之调度和锁定
- · MySQL查询优化讲座之管理员的优化措施
- · (interbase之九)inteb…
- · Oracle数据库碎片整理
- · SQLStory摘录(七)——…
- · 使用 PHP 5.0创建图形的巧妙方法
- · 下一代的WEB开发框架
- · 推荐几篇MSDN好文章
- · Web设计里的软件工程思想
- · ASP.Net安装简明手册
- · 利用Directshow开发源Filter
- · DShow中实现抓图的几种方法
- · 渲染状态管理
- · 论游戏中的搜索问题(初级篇)
- · 如何在3D场景中加入Fog
- · 深入RPG游戏制作—图形篇
- · 角色扮演游戏的升级系统研究
- · 游戏外挂分析
- · 特效天地——水波
- · 隨筆]遊戲程式設計初學者…
- · 特效天地——位图卷轴
- · 未来游戏发展趋向
- · 纹理映射:JeffMolofee(…
- · 向3D进军:JeffMolofee(…
- · 看骂国产游戏、骂国内制…
- · 五子棋的核心算法
- · 拼图游戏的算法
- · 上楼梯算法的java实现
- · 杨辉三角形
- · 水仙花数
- · 刘徽《九章算术》中的勾股数
- · 图像分割中阈值的自动选取的研究及其算法实现
- · 【C++/OOP】(侯捷著)
