恩..一般在session中记录开始时间
结束的时候出发session结束事件,得到结束时间就可以吧

解决方案 »

  1.   

    session listener session创建的时候记录时间,session失效的时候记录时间, 在线时间 = 后面的时间 - 前面的时间 - 没有动作的时候session保存的时间
      

  2.   

    to Squall1009(钰枫)(祝大家新年快乐!)    能讲得详细一些吗?session listener session创建的时候记录时间与session失效的时候记录时间怎么样取得?还有我怎么样对每一个用户的时间进行操作?谢谢!
      

  3.   

    可以用这个方法session.getCreationTime();
    来得到session的构建时间。
    得到session的失效时间,好像没有现成的方法。
      

  4.   

    提供一个思路给你,监听session实现一个接口HttpSessionBindingListenerimport javax.servlet.http.*;public class UserTrace implements javax.servlet.http.HttpSessionBindingListener{
    ...
    public void valueBound(HttpSessionBindingListener event){
    }//当对象加入session时调用这个方法
    public void valueUnbound(HttpSessionBindingListener event){
    Date current_time=new Date();//得到对象被移出session的时间
    }//当对象移出session时调用这个方法
    ...
    }
      

  5.   

    调用Session对象的setAttribute方法的时候自动调用监听器的valueBound方法调用Session对象的removeAttribute方法的时候或Session Time out的时候Session对象会调用valueUnbound方法
      

  6.   

    package com.wz.application;
    import com.wz.common.*;
    import javax.servlet.http.HttpSessionEvent; 
    import javax.servlet.http.HttpSessionListener; public class OnlineCounter implements HttpSessionListener 
    {
       private static String pstringStartTime = ""; 
       private static String pstringEndTime = "";  
        
       public void sessionCreated(HttpSessionEvent hse)    
       { 
        pstringStartTime = FunLibrary.getCurrenTime();
       } 
       public void sessionDestroyed(HttpSessionEvent h)        
       {   
       pstringEndTime = FunLibrary.getCurrenTime() + "  -  " + pstringStartTime;   
       } 
       
       public static String getOnline()           
       {
            return pstringEndTime;      
       }
    }
      

  7.   

    用会话事件(HttpSessionListener)来监听你要实现的功能!
      

  8.   

    当Session Time out的时候Session对象会调用valueUnbound方法。不用自动刷新,当session自动失效时就会调用valueUnbound方法
      

  9.   

    to kiss0931(年终奖金250块--好数目) :  能好好聊一下吗?我的QQ是275829337 MSN [email protected]谢谢!