问题:
HTTP是无状态的, 只要是两次请求,则无法保持状态.
解决方案:
1. 客户端: Cookie
2. 服务器端:
cookie客户端
session 服务器端 ,a一个用户用的(默认一个浏览器就是一个用户)
application 服务器端 ,b跨用户的 最适合统计在线人数
request也可以但只针对一次请求(是解决不了无状态hmtl 的,因为要多次请求)
session: 会话, 客户端与服务器端之间的多次请求与响应的过程. 一个session只针对一个客户端.例如:JSESSIONID=F4B996A25B92026338BA8A0793564ED6; Path=/test_session_1
session的创建:
第一次请求服务器时,由服务器创建,并创建了编号,将编号以cookie回传给客户端,
session销毁的时机:
1. 关闭浏览器一段时间后. 跟服务器设置设置有关
2. session.invalidate(); 强制清除,连session都没有
session.removeAttribute(""); 立马消除 ,下一次登录可以接着记录历史。如果仅用来退出出,原来的信息还是不需要用就用这个方法清除
3. 关闭服务器.
session的方法:
session.setAttribute("键",值 );
Object session.getAttribute("键");
作用:很多信息在多个页面都需要,就放在session里面存,还可以做权限的处理