Session在网络中被称为会话。
javax.servlet.http.HttpSession接口表示一个会话,我们可以把一个会话内需要共享的数据保存到HttpSession对象中!(是一个容器,作用域对象)
Session对象---内置对象,不需要构建
当一个Session开始时,Servlet容器将创建一个HttpSession对象,在HttpSession对象中可以存放客户状态的信息(例如购物车)。
Servlet容器为HttpSession分配一个唯一标识符,称为Session ID。
Servlet容器把Session ID作为Cookie保存在客户的浏览器中。
每次客户发出HTTP请求时,Servlet容器可以从HttpServletRequest对象中读取Session ID,然后根据Session ID找到相应的HttpSession对象,从而获取客户的状态信息。
Session对象的生命周期:创建 --> 使用 --> 消亡
当客户端浏览器第一次访问服务器时,服务器为这个浏览器创建一个Session对象。
在服务器端使用request.getSession()或request.getSession(true)方法来获得Session对象。
request.getSession() --获得Session对象
session.getId() --获得session对象的ID
例:HttpSession sess=request.getSession(); //获取Session对象
session.setAttribute(String name, Object obj) --将信息保存在session范围内
session.getAttribute(String name) --获取保存在session范围内的信息
session.getAttributeNames(); --返回Session对象中存储的每一个属性对象,枚举型
session.isNew() --判断session对象是不是新的
以下3种方法可以结束session对象:
a. 关闭浏览器;
b. 请用HttpSession的invalidate()方法;
c. session超时。
HttpSession session=request.getSession(); --获得session
session.setAttribute("key",value); --设置session的属性值 key:String value:Object
同一个session 中, KEY不能重名,重名覆盖
session.getAttribute("key"); --获得session的属性值
session.getAttributeNames(); --返回Session对象中存储的每一个属性对象,
session.setMaxInactiveInterval(n); --设置会话时长,单位秒
session.setMaxInactiveInterval(24*60*60);
session.invalidate(); --设置session无效 一般用在[安全退出]
session.getId(); --获取session对象ID
session.isNew(); --判断是否是新用户
session.removeAttribute("key"); --删除属性
session.getCreationTime(); --返回Session被创建的时间.最小单位为毫秒
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。