session
什么是session?
- session表示客户端与服务器的一次对话 。
- Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。
- 在服务器的内存中保存着不同用户的session。
session内置对象
session对象是HttpSession类的实例,在第一个JSP页面被装载时自动创建,完成会话期的管理。
session的主要方法
方法 | 方法说明 |
---|---|
getAttribute(String name) | 获取session属性 |
getAttributeName() | 返回所有session属性名称,结果为一个枚举类型 |
removeAttribute(String name) | 删除session中的属性 |
setAttribute(String name, Object value) | 设置session中的属性 |
getID() | 返回session的ID |
getCreationTime() | 返回session创建的时间 |
setMaxInactiveInterval(int num) | 设置session最大的生存周期,单位为秒 |
下面是一个小例子
<body>
<h1>session内置对象</h1>
<hr>
<%
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date d = new Date(session.getCreationTime());
session.setAttribute("username", "admin");
session.setAttribute("password", "123456");
session.setAttribute("age", 20);
//设置当前session最大生成期限单位是秒
session.setMaxInactiveInterval(10);//10秒钟
%>
Session创建时间:<%=sdf.format(d)%><br>
Session的ID编号:<%=session.getId()%><BR>
从Session中获取用户名:<%=session.getAttribute("username") %><br>
</body>
sessionID
session对象的ID是用来唯一识别session的标识。该 ID由一个32位的十六进制字符串组成,可以保证服 务器中所创建的所有session对象都不相同。
session对象的生命周期
session对象的创建是由服务器完成的,当客户端第 一次请求服务器时由服务器创建。如果会话过程一 直存在,则session对象也将一直存在下去。只有当 session过期、客户端关闭浏览器或者服务器端调用 了session的invalIDate()方法时session对象才被释放掉, 结束其生命周期。