什么是Session
当用户打开浏览器,访问某个网站时,服务器就会在服务器的内存为该浏览器分配一个空间,
该空间被这个浏览器独占
这个空间就是session 该空间中的数据默认存在时间为30分钟,也可以修改
session的用途
1.网上商城中的购物车
2.保存登录用户的信息
3.将某些数据放入但Session中,供同一用户的各个页面使用
4.防止用户非法登录到某个页面
.....
可以把session理解成一张表
这张表有两列 每一行就是session的一个属性
每个属性包含两个部分,一个是该属性的名字(String)另外一个是它的值(Object)
1.得到session
Servlet中: HttpSession hs=request.getSession(true);
JSP中: session 是一个内置对象,可以直接使用
2.向session添加属性
Servlet中: hs.setAttribute(String name,Object val);
JSP中: session.setAttribute(String name,Object val);
3.从session得到某个属性
Servlet中: hs.getAttribute(String name);
JSP中: session.getAttribute(String name);
4.从session删除某个属性
Servlet中: hs.removeAttribute(String name);
JSP中: session.removeAttribute(String name);
在session中添加一个属性 名字:myName 值为黄林立
session.setAttribute("myName","黄林立")
如果不指定时间,那么默认时间就是30min
session.setMaxInactiveInterval(20) 20s
输出session id号
session.getId()
1.session中属性存在的默认时间是30min,但是这个时间可以修改
可以在web.xml中修改,也可以在程序中修改
2.这个时间指的是用户的发呆时间,而不是累计时间
3.当某个浏览器访问网站时,服务器会给浏览器分配一个唯一的session id,并以此来
区分不同的浏览器(即客户端)
4.因为session的各个属性要占用服务器的内存,因此软件公司都是在迫不得已的情况下才使用它
1.1保存用户信息
1.2保存购物车