七、Session(HttpSession)
1.Session是浏览器和服务器之间的一次会话,包含多个请求。
(会话结束:关闭浏览器、请求超时)
2.Session是服务器为每个客户在服务器端开辟的一块空间。
3.获取Session:req.getSession();
4.向Session放数值
Session setAttribute(“key”,”value”);
5从Session中取值
HttpSession session = req.getSession();
String name = (String)sesion.getAttribute(“username”);
6.从session中移值
Session.removeAttribute(key);
7.什么时候用Session?
如果每个用户都有自己不同的数据的时候,就要用session
8、登录流程
9、session和浏览器,服务器都有关,那么session是存放在哪里的?
服务器。
10、每个用户都有自己的session,服务器是根据sessionId来区分的。那么服务器是如何知道不同客户的sessionId的呢?
客户端和服务器“第一次”建立请求是,服务器为给客户分配一个session,并且指派一个sessionId当服务器响应客户端时,会将这个SeesionId以cookie的方式写入浏览器内存中,当给客户再一次发起请求时,该将sessionId传给服务器,服务器根据接收到的sessionId,去查找该客户对应的session。
11、Session建立的时机:
Request.getSession();(一般请求servlet/jsp时)
12、浏览器关闭时,session是否被删除?
不会。
13、浏览器关闭时,是否能找到原来的session
不能。
14、session何时被删除?
- 超时;
- 设置session失效时间
//指定servlet容器使此会话失效之前客户端请求之间的时间间隔,以秒为单位,负数时间指示会话永远不会超时。
session.setMaxInactiveInterval(10*60);
b)手动调用Session.invalidate();//使session失效
c)服务器关闭或停止