Session 技术
问题 :一个用户的不同请求处理共享数据怎么办?
解决:使用Session技术
原理 :用户第一次访问服务器,服务器会创建一个Session对象给此用户,并将Session对象的JSESSIONID使用Cookie技术存储到浏览器中,保证用户的其他请求能够获取通过一个Session对象,也保证了不同请求能够获取共享数据。
1.如果有Session的标识符JSESSIONID还存在或者没有创建过则将返回其Session对象
2.如果没有Session的标识符JSESSIONID存在但是在服务器里的被销毁或者时间没了,则将会重新创建一个Session对象并将其重置给浏览器
注意:
1. 设置时长
------ hs.setMaxInactiveInterval(5);//设置时长
-------在tomact中配置D:\apache-tomcat-7.0.103\conf\web.xml找到Session 修改时间
------在web.xml文件中讲(2)中的拉入进来
2.设置Session强制失效
hs.invalidate();
3.JSESSION存储在Cookie的临时空间里,关闭浏览器则消失,关闭浏览器一定消失
4.默认时间30分钟,指的是最后一次访问的30分钟.
5.跟Cookie很像,依赖于Cookie技术,他将其JSESSION存储到Cookie中
6.一旦关闭浏览器,JSESSION在浏览器中就消失了。
总结:
1.session解决了一个项目中的数据共享问题,只要JSESSION不失效和session对象不失效的情况下用户可以访问同一个session对象
2.session是将JSESSION和服务器中的进行对比,如果有则返回,没有则创建
Session的数据流
创建session对象
HttpSession hs=req.getSession()
存储和获取数据
1.hs.setAttribute(String name, Object value); 存
2.hs.getAttribute(String name) ;取