锁定老帖子 主题:页面“长时间”操作引起的Session过期
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-10-11
在Servlet Specification 2.4中对Session的过期有这样的一句描述: 引用 The session invalidation will not take effect until all servlets using that session have exited the service method. 所以,如果client跟server没有交互,那么session过期时间就开始计算了。 但是在实际应用中,我遇到了这样的问题: 客户要求系统5分钟不操作Session就过期。但是我们有一项功能“银企对账”,需要在页面上对2000多条数据进行勾选,这个勾选完全是页面的操作,同Server没有任何交互,但是由于数据量大,勾选的时间远远超过5分钟,当勾选完后执行操作时,Session已经过期了。 这样的矛盾如何解决?设置自动同Server交互以维持Session?Or Other? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-10-11
5分钟过期?要求真奇特
简单了,在页面搞个ajax远程调用,每隔1分钟自动调用一下某个serlvet |
|
返回顶楼 | |
发表时间:2007-10-11
那样5分钟还会过期吗?
|
|
返回顶楼 | |
发表时间:2007-10-11
5分钟不操作Session就过期?这个操作包括页面操作吗?如果是就用ajax响应好拉!
|
|
返回顶楼 | |
发表时间:2007-10-11
可以再刚开始的时候给session设置一个时间哦!比如设置15分钟哦,当然用ajax 没一分钟就,调用一次也是可以的哦!
|
|
返回顶楼 | |
发表时间:2007-10-11
看来大家给出的答案跟我想的差不多,不管是不是使用ajax,本质上都是定时自动的同server交互来保持session不过期。
|
|
返回顶楼 | |
发表时间:2007-10-11
写道 看来大家给出的答案跟我想的差不多,不管是不是使用ajax,本质上都是定时自动的同server交互来保持session不过期
这样会加重服务负担的! |
|
返回顶楼 | |
发表时间:2007-10-11
tomkoo 写道 在Servlet Specification 2.4中对Session的过期有这样的一句描述: 引用 The session invalidation will not take effect until all servlets using that session have exited the service method. 所以,如果client跟server没有交互,那么session过期时间就开始计算了。 但是在实际应用中,我遇到了这样的问题: 客户要求系统5分钟不操作Session就过期。但是我们有一项功能“银企对账”,需要在页面上对2000多条数据进行勾选,这个勾选完全是页面的操作,同Server没有任何交互,但是由于数据量大,勾选的时间远远超过5分钟,当勾选完后执行操作时,Session已经过期了。 这样的矛盾如何解决?设置自动同Server交互以维持Session?Or Other? 到了那个页面后作一个嵌入式自刷新页面。。。。每分钟刷一次无返回就可以了。 不需要返回页面的请求。。。。压力应该不是很大吧。。而且只有一个页面。。。 |
|
返回顶楼 | |
发表时间:2007-10-11
突然又想到一个比较“龟毛”的问题,如果用户在这个界面确实没有做操作了,那就应该在5分钟的时间之内页面失效。
如果我们自动访问Server以保持Session的话,那么这个页面就永远不会过期了。 这也是一个问题,虽然有点挑刺的感觉。 |
|
返回顶楼 | |
发表时间:2007-10-11
tomkoo 写道 突然又想到一个比较“龟毛”的问题,如果用户在这个界面确实没有做操作了,那就应该在5分钟的时间之内页面失效。
如果我们自动访问Server以保持Session的话,那么这个页面就永远不会过期了。 这也是一个问题,虽然有点挑刺的感觉。 所以我才问那个问题啊,你这个只能更改客户的要求,有求部分功能的session失效时间不一定就是5分钟 |
|
返回顶楼 | |