session对象用来表示用户的会话状况,一般用于保存用户的各种信息,直到生命周期超时或者被认为释放掉为止。session对象包含的方法及方法说明如下表所示:
方法 | 返回值 | 方法说明 |
getId() | String | 获得session的ID |
getCreationTime() | long | 获得session生成的时间 |
getLashAccessedTime() | long | 获得用户最后通过session发送请求时间 |
getMaxInactiveInterval() | long | 取得session生命周期,如果超过这个时间则失效 |
invalidate() | void | 清空session内容 |
isNew() | boolean | 判断session是否为“新”的 |
setMaxInactiveInterval() | void | 设置session生命周期,如果超过这个时间则失效 |
一,设置并获得session生命周期
通过session对象的setMaxInactiveInterval()方法可以设置session的生命周期,可以通过其getMaxInactiveInterval()方法来获得session的生命周期。
示例:sessionDemo.jsp
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<html>
<head>
<title>设置并获得session活动时间</title>
</head>
<body>
<%
session.setMaxInactiveInterval(60*2);
int time = session.getMaxInactiveInterval();
out.println("session最大活动时间为:" + time + "秒");
%>
</body>
</html>
运行结果:
二.获得session的其他信息
通过调用session对象的其他方法可以获得与session相关的更多信息,如session的ID,session的生成时间等。
示例:sessionDemo2.jsp
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>获得session的其他信息</title>
</head>
<body>
<%
long creatTime = session.getCreationTime(); //取得session生成时间
out.println("session生成的时间:" + creatTime + "<br>"); //输出session生成时间
String sessionID = session.getId(); //取得session的ID
out.println("session的ID:" + sessionID + "<br>"); //输出session的ID
long lastTime = session.getLastAccessedTime();
out.println("最后通过session发送请求时间:" + lastTime + "<br>");
boolean isnew = session.isNew(); //判断session是不是新的
out.println("是否为新的" + isnew); //输出session是不是新的
%>
</body>
</html>
运行结果: