1.什么是session:
当用户打开浏览器,访问某个网站的时候,服务器就会在服务器的内存为该浏览器分配一个内存空间,该空间被这个浏览器独占,这个空间就是session空间。
该空间中的数据默认存在时间为30min,可以修改(session.setMaxInactiveInterval(int seconds))
2.session可以用来做什么?
(1)可以用作网上商城的购物车
(2)保存登录用户的信息
(3)将某些数据放在session中,供同一用户的各个页面使用(共享数据)
(4)防止用户非法登录到某个页面
3.session的使用:
(1)得到session
servlet中:HttpSession hs = request.getSession(true);
jsp中:session是一个内置对象,可以直接使用
(2)向session添加属性:
servlet中:hs.setAttribute(String name,Object value)
jsp中:session.setAttribute(String name,Object value)
(3)从session得到某个属性:
servlet中:hs.getAttribute(String name)
jsp中:session.getAttribute(String name)
(4)从session中删除某个属性:
servlet中:hs.removeAttribute(String name)
jsp中:hs.removeAttribute(String name)
4.session注意事项:
(1)session默认存在时间是30分钟,在tomcat的web.xml中的<session-out>可以修改
(2)上述默认时间指的是“发呆时间”,不是累计时间,就是不访问它的时间超过30分钟就会被回收,期间访问了它的话这个时间就会重新计算
(3)当某个浏览器访问服务器时,服务器会给它一个唯一的session id,通过id来区分不痛的浏览器
(4)因为session要占用服务器内存,因此在迫不得已的情况下才使用(一般使用:保存用户信息,保存购物车)