现在出现的问题是:    比如一个考试系统,当用户login in(登入)系统,如果用户在整个系统中过程中没有对系统进行任何的操作,则过10分钟session失效,则login out到登录页面,如果在考试过程中考生一直在考试,一直的填写,但是没有任何的提交等操作(也就是没有与服务器有任何的接触),则该session应该不会在10分钟后失效,如果中途用户没有正常的login out,如中途转移到其它网站,由于没有执行logout,导致锁定的session用户没有释放,使其不可重用,请问这些该怎么处理,我已经通过了好多办法,但是还没有解决,请各位帮帮忙吧,在线等。

解决方案 »

  1.   

    在所有的html editor中onchange()用javascript实现轮询,
    即隔几秒中,如题onchange曾经有变化,则向服务发请求
    表示在工作中。
      

  2.   

    这个比较简单
    用监听器实习,假如10分钟如果考生没有动,就让session钝化。如果动了就再让他活化。当session钝化的时候是不占服务器资源的。你的目的就达到了。
      

  3.   

    你可以在考试的页面内定时(10分钟)执行一javascript语句,该语句通过ajax访问一servlet,该servlet作的工作就是对session进行一次刷新,这样session就不会在10分钟后失效了
      

  4.   

    要实现session十分钟后失效,可通过一后台servlet实现(web.xml中带有load-on-starup的servlet),该servlet每隔一断时间对所有session进行查询,如果session上次访问时间与现在相关十分钟,则将session失效。所有的session可保存在一个list当中然后作为一个值存在ServletContext的属性当中,每个用户在登陆后都获得这个属性然后将自身的session加入其中
      

  5.   


       关键问题现在不在这啊,当用户login in(登入)系统,如果用户在整个系统中过程中没有对系统进行任何的操作,则过10分钟session失效,则要自动login out到登录页面