`
dbzhuan
  • 浏览: 21353 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
最近访客 更多访客>>
社区版块
存档分类
最新评论

判断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,原因我想大家应该是显然的。

分享到:
评论

相关推荐

    判断session过期的方式

    本篇文章将详细介绍三种判断Session过期的方法。 ### 1. 检查Session有效期 这是最直接的方式,服务器在创建Session时会设置一个过期时间,例如30分钟。每当用户发送请求时,服务器都会检查当前Session是否超过...

    Spring MVC 3 结合DWZ 框架编写拦截器判断session是否过期

    在这里,我们的目标是检查用户session的有效性,如果session过期,则提示用户重新登录。 代码中定义了一个名为`SessionInterceptor`的类,它继承自`HandlerInterceptorAdapter`,这是Spring MVC提供的一个基础拦截...

    session过期问题

    2. **用户浏览器关闭**:浏览器关闭后Session丢失,再次打开时应判断Session是否过期,过期则引导用户重新登录。 3. **用户切换设备或浏览器**:不同设备和浏览器的Session不共享,需要设计逻辑处理这种情况。 4. ...

    几种判断asp.net中session过期方法的比较

    第二种方法是通过重写HttpModule中的Init()方法来判断session过期。这种方法通过实现IHttpModule接口,并在其中注册AcquireRequestState事件来判断session状态。通过web.config配置文件注册自定义的HttpModule后,...

    JS之Session超时提示代码

    3. **超时提示与倒计时**:当接近或到达设定时间阈值时,弹出提示框并显示剩余时间,直至Session过期。 #### 三、代码详解 ##### 1. 变量声明与初始化 ```javascript var timeIndex = 0; var divtime = "<div>...

    SpringMVC拦截器实现监听session是否过期详解

    需要注意的是,通过拦截器监听session过期的方法主要依赖于将session对象存储到application中,这可能会带来额外的内存开销,特别是在大型应用中,可能需要更加细致的处理策略。此外,如果使用了集群部署,那么...

    ajax session过期问题的几个解决方案

    因此,我们可以通过AJAX请求返回的内容中是否包含标签来判断Session是否过期。具体实现方式是检查请求返回的文本内容,看是否包含这一标记。如果包含,可以认为Session已经过期,此时应该提示用户重新登录或进行相关...

    session超时拦截器

    页面session页面点击会报错,我可以配置拦截器进行拦截操作判断session是否过期。

    Java Web实现session过期后自动跳转到登陆页功能【基于过滤器】

    //判断session是否过期 if ((User) session.getAttribute(SessionKeyConstants.LOGIN) == null) { String errors = "您还没有登录,或者session已过期。请先登陆!"; request.setAttribute("Message", errors); ...

    答题赚积分的问卷答题小程序

    //判断session是否过期 util.showLoading("正在进入..."); //获取邀请码 var beinvite=decodeURIComponent(options.myinvite) if(beinvite){ that.setData({ beinvitecode:beinvite }) }

    ASP.NET(基于VS2008 C#)页面计时自动跳转(session和Javascript两种方法)

    在页面的后台代码(C#)中,可以通过`IsNewSession`属性判断Session是否过期,如果过期则重定向到登录页面或其他指定页面: ```csharp if (Context.Session.IsNewSession) { Response.Redirect("LoginPage.aspx...

    判断Session的过期时间 采用JavaScript实时显示剩余多少秒

    知识点四:实现Session过期提示 当Session即将过期或已过期时,需要给用户提供提示。在代码示例中,如果检测到`lefttime`等于0,就会停止定时器,并通过JavaScript弹出一个警告框提示用户。如果用户确认,则通过`...

    利用Session验证是否用户登录

    Session是服务器端的一种存储机制,用于跟踪用户状态,尤其在用户登录后,通过Session可以判断用户是否已登录,从而实现权限控制。 首先,我们要理解如何使用Session在页面间传递值。当用户在登录页面输入用户名和...

    asp.net session的使用与过期实例代码

    本文将详细介绍如何在***中创建和使用Session,以及如何判断Session是否已经过期。 首先,Session是一种在Web会话中常用的状态管理技术,它能够将信息保存在服务器内存中。Session允许我们存储任何类型的数据,包括...

    c写cgi中跟踪用户状态的解决办法

    - 当前时间戳(用于判断session是否过期)。 - 一个随机生成的哈希密钥(作为cookie值的一部分,确保会话安全)。 - 客户端IP地址(辅助验证用户身份)。 - 用户名与密码等敏感信息(加密后存储,确保数据安全)...

    JSP实例编程100例

    93、判断session是否过期 94、参数式查询数据库 95、取得数据库中各栏名称 96、使用JavaBean、设置和获取Bean的属性 97、设置Bean的一个属性与输入参数关联 98、实现基于数据库的站内搜索 99、DOM读取XML文档 100、...

    微信小程序用户授权,以及判断登录是否过期的方法

    本文将详细讲解微信小程序用户授权的过程以及如何判断登录是否过期。 首先,微信小程序提供了一种名为`wx.login()`的方法,用于获取用户的登录凭证(临时登录code)。在`index.js`中,当用户点击“登录”按钮时,这...

    JAP编程学习100例

    93、判断session是否过期 94、参数式查询数据库 95、取得数据库中各栏名称 96、使用JavaBean、设置和获取Bean的属性 97、设置Bean的一个属性与输入参数关联 98、实现基于数据库的站内搜索 99、DOM读取XML文档 100、...

Global site tag (gtag.js) - Google Analytics