Servlet/jsp中session应用说明

来源:互联网 发布:spss数据分析模型 编辑:程序博客网 时间:2024/05/29 00:34

       

   Session直接翻译成中文比较困难,一般都译成时域。在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间以及如果需要的话,可能还有一定的操作空间。

具体到Web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。因此从上述的定义中我们可以看到,Session实际上是一个特定的时间概念。

需要注意的是,一个Session的概念需要包括特定的客户端,特定的服务器端以及不中断的操作时间。A用户和C服务器建立连接时所处的Session同B用户和C服务器建立连接时所处的Session是两个不同的Session。

 

       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属性。

原创粉丝点击