论坛首页 Java企业应用论坛

页面“长时间”操作引起的Session过期

浏览 34362 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-10-11  
那就在body上加一个onclick事件吧,只在click时才发送ajax请求
0 请登录后投票
   发表时间:2007-10-12  
可以每勾一下就让发送ajax请求
2 请登录后投票
   发表时间:2007-10-12  
tomkoo 写道
突然又想到一个比较“龟毛”的问题,如果用户在这个界面确实没有做操作了,那就应该在5分钟的时间之内页面失效。
如果我们自动访问Server以保持Session的话,那么这个页面就永远不会过期了。
这也是一个问题,虽然有点挑刺的感觉。

如果写的话可以控制最大次数就行了。
0 请登录后投票
   发表时间:2007-10-12  
如果每次click时间都同Server交互,因为页面内容很多,click事件也非常的多,这样就会很频繁的同Server交互,负载可能会无形中增大很多。
0 请登录后投票
   发表时间:2007-10-12  
tomkoo 写道
突然又想到一个比较“龟毛”的问题,如果用户在这个界面确实没有做操作了,那就应该在5分钟的时间之内页面失效。

如果我们自动访问Server以保持Session的话,那么这个页面就永远不会过期了。

这也是一个问题,虽然有点挑刺的感觉。



用户有操作,比如勾选复选框,才用ajax发送个请求维持session,否则不发送。
0 请登录后投票
   发表时间:2007-10-12  
点上一页下一页的时候出发ajax.这样的话.你5分钟不翻页的话就确定你session超时
0 请登录后投票
   发表时间:2007-10-12  
你也比较龟毛 所以你的客户也龟毛 无话可说
0 请登录后投票
   发表时间:2007-10-12  
龟毛,又想马儿跑,又想马儿不吃草~~~~~~

1.设置一个全局变量A=0
2.把页面关键部分的onmouseover和onkeypress挂上一个函数,使A=1;
3设置一个每4分钟一次的计时器。如果A=1则发一个ajax请求,并设A=0;
如果A=0则告知用户要超时了,赶紧动动。

要这个办法还满足不了你......那就不知道怎样的龟毛才能满足你了
0 请登录后投票
   发表时间:2007-10-12  
可以使用一个全局变量记录最近click的时间:
var latest_click_time;
然后在onClick中检查当前时间和上次时间之差是否超过4分钟(也可以是其他小于5分钟的数字),如果是,则调用ajax,并更新latest_click_time为当前时间,如果不是,则只更新latest_click_time为当前时间。
这样既可以防止服务器压力过大,又可以防止超时。
0 请登录后投票
   发表时间:2007-10-12  
万一他打勾打到一半突然尿急,上厕所去了,偏偏又超过了5分钟,session过期那他前面的活岂不白干了,所以这个页面就做个定时连接一下服务器,让它永不过期好了,除非他把这个页面关掉。
0 请登录后投票
论坛首页 Java企业应用版

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