第六讲 jsp内建对象之 session
session对象是java.servlet.http.HttpSession类的子类的对象,它表示当前的用户会话信息。在session中保存在对象在当前用户连接的所有页面中都是可以被访问到的。
可以使用Session 对象存储用户登录网站时候的信息。当用户在页面之间跳转时,存储在Session对象中的变量不会被清除。
主要方法:
getAttribute(String name)获取欲指定名字name相联系的属性
getAttributeNames()返回所有session对象中存储的对象,结果为枚举类的实例
long getCreationTime() 返回SESSION创建时间
public String getId() 返回SESSION创建时JSP引擎为它设的惟一ID号
long getLastAccessedTime() 返回此SESSION里客户端最近一次请求时间
int getMaxInactiveInterval() 返回两次请求间隔多长时间此SESSION被取消(ms)
String[] getValueNames() 返回一个包含此SESSION中所有可用属性的数组
void invalidate() 取消SESSION,使SESSION不可用
boolean isNew() 返回服务器创建的一个SESSION,客户端是否已经加入
void removeValue(String name) 删除SESSION中指定的属性
void setMaxInactiveInterval() 设置两次请求间隔多长时间此SESSION被取消(ms)
setAttribute(String name,java.lang.Object value)设定一个名值对存到session对象中
对于session对象中,经常用到的方法是setAttribute()、getAttribute()和removeAttribute()。分别可以对session中的对象进行存取和删除操作。
session过期时间设定方法:
1. 在server.xml中定义context时采用如下定义:
<Context path="/anyword" docBase="d:/myjsp"
defaultSessionTimeOut="60" isWARExpanded="true"
isWARValidated="false" isInvokerEnabled="true"
isWorkDirPersistent="false"/> 60的单位为分钟
2. 在web.xml中通过参数指定:
<session-config>
<session-timeout>60</session-timeout>
</session-config>
60的单位为分钟
3. 在程序中通过servlet api直接修改
HttpSession ses = request.getSession();
ses.setMaxInactiveInterval(10);
设置单位为秒
4.在jsp页面中设置
session.setMaxInactiveInterval(30*60);
设置单位为秒