三、HttpSession接口
      
定义\
      public interface HttpSession
      
这个接口被Servlet引擎用来实现在HTTP客户端和HTTP会话两者的关联。这种关联可能在多外连接和请求中持续一段给定的时间。session用来在无状态的HTTP协议下越过多个请求页面来维持状态和识别用户。
      
一个session可以通过cookie或重写URL来维持。
      
方法
      1
getCreationTime
      public long getCreationTime();
      
返回建立session的时间,这个时间表示为自1970-1-1日(GMT)以来的毫秒数。 
      2
getId
      public String getId();
      
返回分配给这个session的标识符。一个HTTP session的标识符是一个由服务器来建立和维持的唯一的字符串。
      3
getLastAccessedTime
      public long getLastAccessedTime();
      
返回客户端最后一次发出与这个session有关的请求的时间,如果这个session是新建立的,返回-1。这个时间表示为自1970-1-1日(GMT)以来的毫秒数。 
      4
getMaxInactiveInterval
      public int getMaxInactiveInterval();
      
返加一个秒数,这个秒数表示客户端在不发出请求时,sessionServlet引擎维持的最长时间。在这个时间之后,Servlet引擎可能被Servlet引擎终止。如果这个session不会被终止,这个方法返回-1
      
session无效后再调用这个方法会抛出一个IllegalStateException
      5
get&#118alue
      public Object get&#118alue(String name);
      
返回一个以给定的名字绑定到session上的对象。如果不存在这样的绑定,返回空值。
      
session无效后再调用这个方法会抛出一个IllegalStateException
      6
get&#118alueNames
      public String[] get&#118alueNames();
      
以一个数组返回绑定到session上的所有数据的名称。
      
session无效后再调用这个方法会抛出一个IllegalStateException
      7
invalidate
      public void invalidate();
      
这个方法会终止这个session。所有绑定在这个session上的数据都会被清除。并通过HttpSessionBindingListener接口的&#118alueUnbound方法发出通告。
      8
isNew
      public boolean isNew();
      
返回一个布尔值以判断这个session是不是新的。如果一个session已经被服务器建立但是还没有收到相应的客户端的请求,这个session将被认为是新的。这意味着,这个客户端还没有加入会话或没有被会话公认。在他发出下一个请求时还不能返回适当的session认证信息。
      
session无效后再调用这个方法会抛出一个IllegalStateException
      9
put&#118alue
      public void put&#118alue(String name, Object &#118alue);
      
以给定的名字,绑定给定的对象到session中。已存在的同名的绑定会被重置。这时会调用HttpSessionBindingListener接口的&#118alueBound方法。
      
session无效后再调用这个方法会抛出一个IllegalStateException
      10
remove&#118alue
      public void remove&#118alue(String name);
      
取消给定名字的对象在session上的绑定。如果未找到给定名字的绑定的对象,这个方法什么出不做。 这时会调用HttpSessionBindingListener接口的&#118alueUnbound方法。
      
session无效后再调用这个方法会抛出一个IllegalStateException
      11
setMaxInactiveInterval
      public int setMaxInactiveInterval(int interval);
      
设置一个秒数,这个秒数表示客户端在不发出请求时,sessionServlet引擎维持的最长时间。
      
以下这个方法将被取消\
      12
getSessionContext
      public HttpSessionContext getSessionContext();
      
返回session在其中得以保持的环境变量。这个方法和其他所有HttpSessionContext的方法一样被取消了。

      
四、HttpSessionBindingListener接口
      
定义\
      public interface HttpSessionBindingListener
      
这个对象被加入到HTTPsession中,执行这个接口会通告有没有什么对象被绑定到这个HTTP session中或被从这个HTTP session中取消绑定。
      
方法
      1
&#118alueBound
      public void &#118alueBound(HttpSessionBindingEvent event);
      
当一个对象被绑定到session中,调用此方法。HttpSession.put&#118alue方法被调用时,Servlet引擎应该调用此方法。
      2
&#118alueUnbound
      public void &#118alueUnbound(HttpSessionBindingEvent event);
      
当一个对象被从session中取消绑定,调用此方法。HttpSession.remove&#118alue方法被调用时,Servlet引擎应该调用此方法。


评论

该日志第一篇评论

发表评论

评论也有版权!