JSP内置对象—session

   什么是session?

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


    比如我们乘坐火车就能够看做是一个session。当我们乘坐火车的时候。我们须要持有一张车票。车票就相当于是一个cookie。而车票上的座位号就相当于是sessionId。

当我们须要訪问列车的时候。检票员会事先检查我们是否持有cookie,假设有就依据cookie里的内容(sessionId) 来推断使用者。假设没有会再一次创建。 

   session原理:张三和李四分别请求訪问页面,Tomcatserver依据需求划分出一块内存来设置session。将此次会话信息保留在server端上,同一时候为这两个session分配sessionID,并传到client浏览器,交由由cookie来进行管理。当訪问完之后。下次张三须要继续訪问。就会将cookie的sessionID传到server上,进行寻找空间。假设有则继续运行。假设没有则又一次创建一个session。


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

     

  URL-rewriting:是说假设client浏览器禁用或是不支持cookie,将进行URL地址重写。即将该用户aession的id信息重写到URL地址中。

server可以解析重写后的URL获取session的id。

这样即使client不支持cookie,也可以使用session来记录用户状态。


   session的生命周期有非常多人都说跟浏览器页面同生共亡。

但存有一点点的疑惑。所以在此不加以叙述。

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

     

posted @ 2017-08-16 09:19  wzzkaifa  阅读(179)  评论(0编辑  收藏  举报