快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

一个判定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,原因我想大家应该是显然的。
返回类别: 教程
上一教程: 制作我们自己的EBAY(拍卖系统)(9)
下一教程: ASP中实现文件上传方式的研究

您可以阅读与"一个判定SESSION是否过期的小技巧"相关的教程:
· 关于执行IIS与设计ASP程序的小技巧
· 一个提供用户输入时期的绝好程序之(二)
· 怎样判定一个盘上是否有文件
· 如何定义一个SESSION数组
· 判定一个ACCESS数据库中某个表是否存在的方式
    微笑服务 优质保证 索取样品