日期:2014-05-17  浏览次数:20647 次

web开发中怎么控制session过期的问题
用户在使用系统的时候用到session,但是长时间不向服务器发送请求,session会过期,这样有些操作就会失败。但是要是设定session永不过期那样就会给服务器增加太多负担,我设定了2个小时让session过期,这样有时用户有事出去了再回来操作,发现操作失败,就不满。请问:怎么控制session,来解决这样的问题呢?


另外,网上有人说在web.xml设定时间大于2小时,有时不管用,也就是不稳定。不知道有没有好的解决方案。

------解决方案--------------------
人机矛盾没有完美的解决方案啊

创建一个session监听器吧,可以用TIMER定时自动destory session
------解决方案--------------------
你可以用cookie来保存用户的id和用户名,过期时间为两个小时

这样就可以了,每次判断权限的时候判断cookie,当session为null 或session与cookie中的值不等的时候

以cookie为准从数据库取出信息,保存cookie和session

当然了,不止可以保存用户信息,也可以保存一些其他信息。


------解决方案--------------------
1、增加判断session失效的功能,不要让程序出错。
2、seseion失效后的处理,一种是让用户重新登录,一种是保存用户登录信息到不会失效的地方,这样在session失效的时候可以重新设置session,使session有效。
------解决方案--------------------
不要让session永不过期,否则如果没有支持释放session的程序,session驻留在服务器太多也是个问题。
小可愚见~!