jspsession,即JSP session,是javax.servlet.http.HttpSession的实例对象,主要用来访问用户数据,记录客户的连接信息。
HTTP协议是一种无状态的协议(即不保存连接状态的协议)。每次用户向服务器发出请求,且服务器接收请求并返回响应后,该连接就被关闭了,服务器端与客户端的连接被断开。此时,服务器端不保留连接的有关信息,要想记住客户的连接信息,就用到了session对象。
session对象的常用方法如下:
方法 | 说明 |
void setAttribute(String name, Object value) | 将参数名和参数值存放在 session 对象中 |
Object getAttribute(String name) | 通过 name 返回获取相应的 value 值,如果 name 没有相应的 value 值,则返回 null |
void removeAttribute(String name) | 删除指定的 name 参数 |
Enumeration getAttributeNames() | 获取 session 对象中存储的所有参数 |
long getCreationTime() | 返回 session 对象创建的时间 |
String getId() | 获取 session 对象的 ID 值 |
boolean isNew() | 用于检查 session 对象是不是新对象,如果客户端禁用了 cookie ,则 session.isNew() 始终返回 true |
void invalidate() | 终止 session,即指定 session 对象失效 |
void setMaxInactiveInterval() | 设置 session 对象的有效时间,单位:秒 |
int getMaxInactiveInterval() | 获取 session 对象的有效时间,单位:秒 |
long getLastAccessedTime() | 获取上次访问 session 对象的时间 |
拓展
如果使用的是Tomcat服务器,可以在web.xml文件中添加以下内容来设置session的有效时间:
<session-config>
<session-timeout>15</session-timeout>
</session-config>123复制代码类型:[java]
这里单位是分钟,即表示session对象的有效时间为15分钟,Tomcat默认有效时间为30分钟。
如果在web.xml中配置的是15分钟,则getMaxInactiveInterval()方法返回900。