论坛首页 招聘求职论坛

面试遇到的session过期问题,,求解

浏览 35481 次
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2011-03-25  
coolbaby1984514 写道
觉得前台页面js控制 是必须的

假如 我打开了一个页面 然后什么都不操作
当然也就不会跟后台进行交互
那么你设置什么filter有什么用?

并且很多用户操作也会延长session的生命周期.

封装一段小js代码,所有页面都引用下即可.

如果打开一个页面什么都不操作,默认30分钟后应该会过期吧,然后进入filter可以判断然后提示用户,很多用户操作也会延长session的生命周期也就是刷新上次访问时间吧
0 请登录后投票
   发表时间:2011-03-25  
xuhang1128 写道
我刚才试了下,在服务器端验证应该也是可以的,通过session的getMaxInactiveInterval和getLastAccessedTime的比较来判断session过去,客户端的访问不会刷新session的创建时间,只是会刷新session的上次访问时间



前端你是怎么session的getMaxInactiveInterval和getLastAccessedTime的比较的,这个必须要在js里写吧
0 请登录后投票
   发表时间:2011-03-25  
不是吧,搞这么麻烦,每次请求都会刷新session的有效期的(比如重新变成30分钟),所以只需要在前端做一个倒计时,最后三十秒后提示一下就可以了。如果有异步请求用js重新置为30分钟就可以了。
还用什么filter~~,再次请求的时候session又会被刷新的,大哥
0 请登录后投票
   发表时间:2011-03-25  
LZ还没有搞定哈?
0 请登录后投票
   发表时间:2011-03-25  
定时发请求给服务器通过过滤器来截获再获得session的创建时间,这个方式不是很好吧?
多用户会浪费很多的资源,而且你循环探测的间隔也会带来一定的误差。

页面第一次给用户的时候可以知道session的超时时间(例如30分钟),每次刷新时重新计时,写个JS让页面做超时的判断吧,不知可行否?
0 请登录后投票
   发表时间:2011-03-25  
页面公用里加个
top.clearTimeout(top.time);
top.time   =   setTimeout( "alert('过期') ",1000*60*30);
0 请登录后投票
   发表时间:2011-03-25  
败家小孩 写道
昨天去复试,面试的是经理,技术已经面试过的,但是跟经理闲聊中经理问到个问题session过期问题


说session过期怎么能监控到,这个我当然知道HttpSessionListener的sessionCreated和sessionDestroyed创建和销毁都能监听到,接下来又问我,要实现一个session过期,在过期前30秒给出用户一个倒计时的提醒,提醒结束自动跳回登录页面怎么实现,当时被堵了,没有回答上来,回来上网找了些资料也没有合理能解决的,,,,,哪位大牛能给个实际合理的解决办法的



在检测到还有30S后后台comet推送信息,做页面JS定时访问太耗性能了。
0 请登录后投票
   发表时间:2011-03-25  
什么破烂玩意儿啊?还以为是问分布式系统间检测session是否过期吧?

什么破烂需求啊?

如果是客户端倒计时,也只有用js 做了,但是时间上肯定不准确的,并且如果是打开多个页面,打开新页面,但是旧页面还在计数怎么办?

0 请登录后投票
   发表时间:2011-03-25  
zhizhuozmy 写道
定时发请求给服务器通过过滤器来截获再获得session的创建时间,这个方式不是很好吧?
多用户会浪费很多的资源,而且你循环探测的间隔也会带来一定的误差。

页面第一次给用户的时候可以知道session的超时时间(例如30分钟),每次刷新时重新计时,写个JS让页面做超时的判断吧,不知可行否?

嗯,个人比较赞成.直接js的new Date就行,本身页面加载的时间就是访问结束时间.
不过有个问题,就是要给个标志,看当状态是否已经login,并且要把session的有效时间发下来.
0 请登录后投票
   发表时间:2011-03-25  
hardPass 写道
什么破烂玩意儿啊?还以为是问分布式系统间检测session是否过期吧?

什么破烂需求啊?

如果是客户端倒计时,也只有用js 做了,但是时间上肯定不准确的,并且如果是打开多个页面,打开新页面,但是旧页面还在计数怎么办?


这个问题问的好啊.多个窗口怎么办....看来只能cookie了
0 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics