session对象其实是javax.servlet.http.HttpSession接口的实例对象。因此,session对象的方法其实就是HttpSession接口的方法。
1. Object getAttribute( String name ) ;获取与指定名字相关联的session属性值。
2. Enumeration getAttributeNames() ;取得session内所有属性的集合。
3. long getCreationTime() ;返回session的创建时间,最小单位千分之一秒。
4. String getId() ;取得session标识。服务器端每生成一个session对象,都会赋予它一个独一无二的编号,这个编号不会重复,服务器就依赖此编号来鉴别不同的客户,getId()方法就返回当前session的编号,如果你使用上面介绍的方法创建了多个session对象的副本,那么这些副本调用getId()方法的返回值都是一样的。
5. long getLastAccessedTime() ;返回与当前session相关的客户端最后一次访问的时间,由1970-01-01算起,单位毫秒。应用这个方法,可以判断某个用户在站上一共待了多少时间。
6. int getMaxInactiveInterval( int interval ) ;返回总时间,以秒为单位,表示session的有效时间(session不活动时间)。-1为永不过期。
7. ServletContext getServletContext() ;返回一个该JSP页面对应的ServletContext对象实例。
8. HttpSessionContext getSessionContext() ;
9. Object getValue( String name ) ;取得指定名称的session变量值,不推荐使用。和application对象一样,session对象也允许将若干个参数或者Java对象绑定在自己身上,相当于局部变量的作用,这些变量的生命周期就是session对象的存活周期,我们可以使用putValue()方法或者getValue()方法存取这些变量的值,或者使用removeValue()方法将它们删除,也就是解除它们和session对象之间的绑定关系,getValue()方法就用于获取指定名字的(由name指定)和session对象绑定的变量的值,如果不存在这个参数或者Java对象,那么该方法将会返回null值。getValue()方法的用法如下所示:
<%
String username=(String)session.getValueNames(“username”);
Vector vector=(Vector)session.getValue(“vector”);
%>
10. String[] getValueNames() ;取得所有session变量的名称的集合。它的使用方法如下所示:
<%
String []name=session.getValueNames();
for(int i=0; i<name.length; i++)
{
out.println(session.getValue(name[i]));
}
%>
11. void invalidate() ;销毁这个session对象。
12. boolean isNew() ;判断一个session是否由服务器产生,但是客户端并没有使用。
13. void pubValue( String name, Object value ) ;添加一个session变量。
14. void removeValue( String name ) ;移除一个session变量的值。putValue()方法和removeValue()方法恰好相对,putValue()方法可以将某个参数或者Java对象和当前的Java对象绑定起来。putValue()方法的参数name指定需要绑定的名称,value指定需要绑定的参数或者Java对象的值。如果在使用putValue()方法以前,已经有同名的参数或者Java对象被绑定于session对象上,那么新值将会覆盖旧值。
15. void setAttribute( String name, String value ) ;设置指定名称的session属性值。
16. void setMaxInactiveInterval( int interval ) ;设置session的有效期。
<%
session. setMaxInactiveInterval(300);
%>
17. void removeAttribute( String name ) ;移除指定名称的session属性。