- session技术学习:
-
问题 :
-
一个用户不同请求处理数据共享怎么办?
-
解决:
-
session技术
-
原理:
-
用户第一次访问服务器,服务器会创建一个session对象给用户,并将
-
该session对象的JSESSIONID使用Cookie技术存储到浏览器中,保证用户
-
的其他请求能够获取到同一个session对象,也就保证了不同请求能够获取
-
到共享数据。
-
特点:
-
存储在服务器端
-
服务器进行创建
-
依赖Cookie技术
-
一次会话
-
默认存储时间是30分钟
-
作用:
-
解决了一个用户不同请求处理的数据共享问题
-
使用:
-
创建session对象/获取session对象
-
HttpSession hs = request.getSession();
-
如果请求中拥有session的标识符也就是JSESSIONID,则返回其对应的session对象
-
如果请求中没有session的标识符也就是JESSIONID,则创建新的session对象并将
-
其JSESSIONID作为Cookie数据存储到浏览器运行内存中
-
如果session对象失效了,也会重新创建一个session对象并将其JSESSIONID存储在浏览器内存中。
-
设置session存储时间
-
hs.setMaxInactiveInterval(int seconds);
-
注意;
-
在指定的时间内session对象没有被使用则销毁,如果使用了则重新j计时。
-
设置session强制失效 hs.invalidate(); 存储和获取数据: 存储:hs.setAttribute(String name, Object value); 获取:hs.getAttribute(String name); 注意; 存储动作和取出动作发生在不同的请求中,但存储要先于取出执行。 使用时机: 一般用户在登录web项目时会将用户的个人信息存储到session中,供该用户的其他请求使用。 总结; session解决了一个用户的不同请求的数据共享问题,只要JSESSIONID不失效和session对象不失效的情况下。 该用户任意请求在处理时都能获取到同一个session对象。 作用域 一次会话 JSESSIONID不失效和session对象不失效的情况下,为整个项目内。
-
注意:
-
JSESSIONID存储在了Cookie的临时空间中,浏览器关闭即失效。
session基础总结
最新推荐文章于 2023-10-10 08:30:00 发布