服务器都有一个设置的时间,来记录当用户停止动作之后多久清空session我的问题是服务器(比如tomcat)是根据什么来判断用户动作的?通过ajax向后台发送请求算不算动作?
tomcat检测动作的关键方法在哪?

解决方案 »

  1.   

    tomcat 里session有个getLastAccessedTime()方法吗   拿它与时间做比较不行吗  
      

  2.   

    如果一直用ajax向后台发送请求.只要间隔时间不超过session的生命周期(一般是20分钟),session 就会一直存在..
    服务器与浏览器之间是通过TCP/IP协议进行通讯的,但是TCP/IP协议是无状态的.所以服务器判断用户就是根据用户的请求.因为一个浏览器在一次会话中只有一个session,在服务器与浏览器的响应与请求之间都会带着这个session传递.
      

  3.   

    sesion的机制是根据cookie来实现的,客户端在cookie中保存此次会话的sessionId,服务器端把sessionId估计是放在容器中保存,服务器端每次接受请求的时候,会读取客户端传过来的sessionId,这样可以取出session,查看是否存在或者已经失效!
      

  4.   

    当用户有使用到session时,重新计时,当超过设定时间session失效