Servlet会话跟踪

  和会话跟踪相关的类和接口有:HttpSession
HttpSession
声明: public interface HttpSession
这个接口被Servlet引擎用来实现HTTP客户端和HTTP会话两者之间的关联。这种关联可能在多处连接和请求中持续一段给定的时间。Session用来在无状态的HTTP协议下越过多个请求页面来维持状态和识别用户。

一个Session可以通过Cookie或重写URL来维持。
它的常用方法有以下几种。
1. getCreateTimes() 返回创建Session的时间
2. getId() 返回分配给这个Session的标识符。一个HTTP Session的标志符是一个由服务器来建立和维护的唯一的字符串
3. getLastAccessedTime() 返回客户端最后一次发出与这个Session有关的请求的时间,如果这个Session是新建立的返回-1
4. getMaxInactiveInterval() 返回一个秒数,这个秒数表示客户端在不发出请求时,Session被Servlet引擎维持的最长时间。在这个时间之后,Session可能被Servlet引擎终止。如果这个Session不会被终止,这个方法返回-1.
5. getValue(String name)返回一个以给定的名字绑定在Session上的对象。如果不存在这样的绑定,返回空值
6. getValueNames()以一个数组返回绑定到Session上的所有数据的名称
7. invalidate();public void invalidate() 这个方法终止这个Session,所有绑定在这个Session上的数据都会被清除。
8. isNew() 返回一个布尔值以判断这个Session是不是新的。如果一个Session已经被服务器建立但是还没有收到相应的客户端的请求,这个Session将被认为是新的。这意味着,这个客户端还没有加入会话或没有被会话公认。在它发出下一个请求时还不能返回适当的Session认证信息。当Session无效后,再调用这个方法会抛出一个IllegalStateException。
9. putValue(String name ,Object value)以给定的名字绑定给定的对象到Session中。已存在的同名的绑定会被重置,这时会调用HttpSessionBindingListener接口的valueBound方法
10. removeValue(String name) 取消给定名字的对象在Session上的绑定。如果未找到给定名字绑定的对象,这个方法什么也不做。这时则会调用HttpSessionBindingListener接口的valueUnbound方法
11. setMaxInactiveInterval(Int interval)设置一个秒数,这个秒数表示客户端在不发出请求时,Session被Servlet引擎维持的最长时间。 

你可能感兴趣的:(servlet)