七、Session(HttpSession)

1.Session是浏览器和服务器之间的一次会话,包含多个请求。

  (会话结束:关闭浏览器、请求超时)

2.Session是服务器为每个客户在服务器端开辟的一块空间。

 

七、Session(HttpSession)

 

 

 

 

 

 

 

 

 

 

 

 

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、登录流程

七、Session(HttpSession)

 

 

 

 

 

 

 

 

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何时被删除?

  1. 超时;
  2. 设置session失效时间
//指定servlet容器使此会话失效之前客户端请求之间的时间间隔,以秒为单位,负数时间指示会话永远不会超时。

session.setMaxInactiveInterval(10*60);

 

b)手动调用Session.invalidate();//使session失效

c)服务器关闭或停止