Session会话的简单使用
一、Session概述
Session用于记录用户的状态,Session指的是在一段时间内,单个客户端与Web服务器的一连串相关的交互过程。
在一个Session中,客户可能会多次请求访问同一个资源,也可能请求访问各种不同的服务器资源。
二、Session原理
1.服务器会为每一次会话分配一个Session对象;
2.同一个浏览器发起的多次请求,同属于一次Session会话;
3.首次使用Session时,服务器会自动创建Session,并创建Cookie存储Session的ID发送回客户端。
三、Session简单使用
1.获取Session
//获取Session对象
HttpSession session = request.getSession();
//唯一标记Session
System.out.println("Session Id = "+session.getId());
2.保存数据
//setAttribute(属性名,Object); 保存键值对数据到Session中
session.setAttribute("key",value);
3.获取数据
//getAttribute(属性名); 获取指定key键获取对应的value值
session.getAttribute("key");
4.移除数据
removeAttribute(属性名); 从Session中删除指定key键的数据
session.removeAttribute("key");
四、Session与Request的区别
Request是一次请求有效,请求改变,则request改变
Session是一次会话有效,浏览器改变或关闭,则session改变
五、Session的生命周期
开始:第一次使用到Session的请求时产生
结束:
1.浏览器关闭
2.Session超时:session.setMaxInactiveInterval(int seconds);//设置Session最大有效时间,单位:秒
3.手动销毁:session.invalidate();//注销