我要在我的HttpServlet类中启动一个线程,每隔10秒判断我的session中的值,是否有效,也就是做一个判断功能,看用户是否在活动,没有活动我就改数据库的状态,请指教。比如说用户把浏览器关掉了,或者是断电了,或者是退出了,等状态。我要改数据库的状态,如何做?

解决方案 »

  1.   

    这个世界曾经有个传说 传说中存在着一个叫做LISTENER的DD 传说这个东西的用法 除了少数人知道为 就只有谷歌(已死) 和百度知道了
      

  2.   

    BearKin 如果非正常关闭浏览器的话,它是没有那个事件的。点X也没有那个事件的
      

  3.   

    http://hcx-2008.javaeye.com/blog/285652
    looklook 
      

  4.   

    这个问题的本质在“如何关注session何时失效,或客户何时掐掉浏览器”,而不是多线程的问题。
    给楼主转个贴:
    http://www.soidc.net/discuss/1/050317/10/310762_1.html
    其中靠给session挂监听器的方式我没试过,如果真有用的话,那么这个问题就不会那么复杂,那么多人问了。
      

  5.   

    我觉得每隔10秒用Session session=request.getSession()  if(session==null){......}
    来判断一次也可以,当用户断点或者关掉浏览器时原来的Session就会被服务器撤消了。这时session==null;