Session
一个 Web 服务器可以分配一个唯一的 session 会话 ID 作为每个 Web 客户端的 cookie,对于客户端的后续请求可以使用接收到的 cookie 来识别。
HttpSession对象
HttpSession session = request.getSession();
标志会话JSESSIONID
Session 既然是为了标识一次会话,那么此次会话就应该有一个唯一的标志,这个标志就是
sessionId。有效时间是关闭浏览器
域对象之一
setAttribute();
getAttribute();
removeAttribute();
Session的销毁
当客户端第一次请求 servlet 并且操作 session 时,session 对象生成,Tomcat 中 session 默认的
存活时间为 30min,即你不操作界面的时间,一旦有操作,session 会重新计时。那么 session 的默认
事件可以改么?答案是肯定的。可以在 Tomcat 中的 web.xml 文件中进行修改。如下图:
自己设置到期时间:
当然除了以上的修改方式外,我们也可以在程序中自己设定 session 的生命周期,通过
session.setMaxInactiveInterval(int); 来设定 session 的最大不活动时间,单位为秒。
HttpSession session = request.getSession();
session.setMaxInactiveInterval(5);
当然我们也可以通过 getMaxInactiveInterval(); 方法来查看当前 Session 对象的最大不活动时间。
立刻失效:
或者我们也可以通过 session.invalidate(); 方法让 session 立刻失效
session.invalidate();
关闭服务器:
当非正常关闭服务器时,session 销毁;当正常关闭服务器时,Session 将被序列化到磁盘上,在
工作空间 work 目录下的 SESSION.ser 文件中,如果对象被保存在了 Session 中,服务器在关闭时要把
对象序列化到硬盘,这个对象就必须实现 Serializable 接口,下次启动服务时,自动加载到内存。
Session 失效则意味着此次会话结束,数据共享结束。
Serializable 接口,下次启动服务时,自动加载到内存。
Session 失效则意味着此次会话结束,数据共享结束。