首页 > 代码库 > JSP内置对象—session

JSP内置对象—session

   什么是session?

   session对象是用来在每一个用户之间分别保存每一个用户信息的对象,以便跟踪用户的操作状态。session的信息保存在服务器端,session的id保存在客户端的cookie中。


    例如我们乘坐火车就可以看做是一个session。当我们乘坐火车的时候,我们需要持有一张车票。车票就相当于是一个cookie。而车票上的座位号就相当于是sessionId。当我们需要访问列车的时候,检票员会事先检查我们是否持有cookie,如果有就根据cookie里的内容(sessionId) 来判断使用者。如果没有会再一次创建。 

   session原理:张三和李四分别请求访问页面,Tomcat服务器根据需求划分出一块内存来设置session,将此次会话信息保留在服务器端上,同时为这两个session分配sessionID,并传到客户端浏览器,交由由cookie来进行管理。当访问完之后,下次张三需要继续访问,就会将cookie的sessionID传到服务器上,进行寻找空间。如果有则继续执行,如果没有则重新创建一个session。


  session超时:所谓超时是指 session多久未被访问,就自动销毁掉。在Tomcat中默认是30分钟。如果30分钟,session未被访问,这个session就被释放掉。

     

  URL-rewriting:是说如果客户端浏览器禁用或是不支持cookie,将进行URL地址重写。即将该用户aession的id信息重写到URL地址中。服务器能够解析重写后的URL获取session的id。这样即使客户端不支持cookie,也可以使用session来记录用户状态。


   session的生命周期有很多人都说跟浏览器页面同生共亡。但存有一点点的疑惑,所以在此不加以叙述。

   以上是对session的一个小小总结,如有不足之处,还望指教!