session的使用,也是一种Key,value的属性对
(1)获取Session的对象
HttpSession session = request.getSession();
当多个客户端执行程序时,服务器会保护多个客户端的Session。
Session机制决定了当前客户只会获取到自己的Session,
而不会获取到别人的session。
各客户端的Session彼此独立,互不可见。
(2)Session对象功能
void setAttribute(String name,Object o): 存储对象到session域中
Object getAttribute(String name): 根据key, 获取值
void removeAttribute(String name) : 根据key,删除该键值对
Session在用户第一次访问服务器的时候自动创建
注意,只有访问JSP,Servlet等程序时才会创建Session,只访问HTML,IMAGE等静态资源并不会创建Session。
如果尚未生成Session,也可以使用
request.getSession(true) 强制生成Session
虽然Session保存在服务器,对客户端是透明的,它的正常运行仍然需要客户端浏览器的支持。
这是因为Session需要使用Cookie作为识别标志。
Http协议是无状态的,Session不能依据HTTP连接来判断为同一客户,因此
服务器向客户端发送一个名为JSESSIONID的Cookie,它的值为该Session的Id。
Session依据该Cookie来识别识别是否为同一用户。