42 session

1 Session用于跟踪客户的状态。Session指的是在一段时间内,单个客户与Web服务器的一连串相关的交互过程。在一个Session中,客户可能会多次请求访问同一个网页,也有可能请求访问各种不同的服务器资源。

2当一个Session开始时,Servlet容器将创建一个HttpSession对象,在HttpSession对象中可以存放客户状态的信息(例如购物车)。
•Servlet容器为HttpSession分配一个惟一标志符,称为Session ID。Servlet容器把Session ID作为Cookie保存在客户的浏览器中。
•每次客户发出HTTP请求时,Servlet容器可以从HttpServletRequest对象中读取Session ID,然后根据Session ID找到相应的HttpSession对象,从而获取客户的状态信息。

3 Session的存活周期

当服务器没有显示的调用invalidate()方法时,session默认的存活周期为30分钟。当客户端与服务器端没有交互30分钟以上时,session被销毁。

所谓的关闭浏览器,session消失是一种假象。因为session是基于浏览器的cookie中保存的sessionID去访问的。这种cookie是一种基于浏览器进程的,并不是通常意义保存在硬盘上的。当浏览器关闭时,这一cookie被释放掉,保存的sessionID随即消失。因此再打开浏览器时,找不到sessionID,就又创建了新的session。而实际上,原来的session并没有消失,只是访问不到了。

你可能感兴趣的:(42 session)