JSP session对象

12个月前 (04-28)
JSP session 是 javax.servlet.http.HttpSession 的实例对象,主要用来访问用户数据,记录客户的连接信息。

HTTP 协议是一种无状态的协议(即不保存连接状态的协议)。每次用户向服务器发出请求,且服务器接收请求并返回响应后,该连接就被关闭了,服务器端与客户端的连接被断开。此时,服务器端不保留连接的有关信息,要想记住客户的连接信息,就用到了 session 对象。

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 对象的时间

示例

在 login.jsp 页面登录,并跳转到 index.jsp。login.jsp 代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<title>编程帮(www.biancheng网站站点" rel="nofollow" />

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<title>编程帮(www.biancheng网站站点" rel="nofollow" />

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<title>编程帮(www.biancheng网站站点" rel="nofollow" /> login.jsp
login.jsp运行结果

index.jsp运行结果
index.jsp运行结果

success.jsp运行结果

index.jsp运行结果

拓展

如果使用的是 Tomcat 服务器,可以在 web.xml 文件中添加以下内容来设置 session 的有效时间:

<session-config>

<session-timeout>15</session-timeout>

</session-config>

这里单位是分钟,即表示 session 对象的有效时间为 15 分钟,Tomcat 默认有效时间为 30 分钟。

如果在 web.xml 中配置的是15分钟,则 getMaxInactiveInterval( ) 方法返回 900。