- 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();
返加一个秒数,这个秒数表示客户端在不发出请求时,session 被 Servlet 引擎维持的最长时间。在这个时间之后,Servlet 引擎可能被 Servlet 引擎终止。如果这个 session 不会被终
止,这个方法返回-1。当 session 无效后再调用这个方法会抛出一个 IllegalStateException。
5、getValue
public Object getValue(String name);
返回一个以给定的名字绑定到 session 上的对象。如果不存在这样的绑定,返回空值。当 session 无效后再调用这个方法会抛出一个 IllegalStateException。
6、getValueNames
public String[] getValueNames();
以一个数组返回绑定到 session 上的所有数据的名称。当 session 无效后再调用这个方法会抛出一个 IllegalStateException。
7、invalidate
public void invalidate();
这个方法会终止这个 session。所有绑定在这个 session 上的数据都会被清除。并通过HttpSessionBindingListener 接口的 valueUnbound 方法发出通告。
8、isNew
public boolean isNew();
返回一个布尔值以判断这个 session 是不是新的。 如果一个 session 已经被服务器建立但是还没有收到相应的客户端的请求,这个 session 将被 认为是新的。这意味着,这个客户端
还没有加入会话或没有被会话公认。在他发出下一个请求时还不能返回适当的 session 认证信息。当 session 无效后再调用这个方法会抛出一个 IllegalStateException。
9、putValue
public void putValue(String name, Object value);
以给定的名字,绑定给定的对象到 session 中。已存在的同名的绑定会被重置。这时会调用 HttpSessionBindingListener 接口的 valueBound 方法。当 session 无效后再调用这个方法会抛出一个 IllegalStateException。
10、removeValue
public void removeValue(String name);
取消给定名字的对象在 session 上的绑定。如果未找到给定名字的绑定的对象,这个方法什么出不做。 这时会调用 HttpSessionBindingListener 接口的 valueUnbound 方法。当 session 无效后再调用这个方法会抛出一个 IllegalStateException。
11、setMaxInactiveInterval
public int setMaxInactiveInterval(int interval);
设置一个秒数,这个秒数表示客户端在不发出请求时,session 被 Servlet 引擎维持的最长时间。以下这个方法将被取消
12、getSessionContext
public HttpSessionContextgetSessionContext();
返回 session 在其中得以保持的环境变量。 这个方法和其他所有 HttpSessionContext 的方法一样被取消了。
- HttpSessionContext接口
此接口将被取消
public interface HttpSessionContext
这个对象是与一组 HTTP session 关联的单一的实体。
这个接口由于安全的原因被取消, 它出现在目前的版本中仅仅是为了兼容性的原因。 这个接口的方法将模拟以前的版本的定义返回相应的值。
方法
1、getSession
public HttpSession getSession(String sessionId);
当初用来返回与这个 session id 相关的 session。现在返回空值。
2、getIds
public Enumeration getIds();
当初用来返回这个环境下所有 session id 的列表。现在返回空的列表。
Cookie 类
定义
public class Cookie implements Cloneable
这个类描述了一个 cookie,有关 cookie 的定义你可以参照 Netscape Communications
Corporation 的说明,也可以参照 RFC 2109。
构造函数
public Cookie(String name, String value);
用一个 name-value 对定义一个 cookie。这个 name 必须能被 HTTP/1.1 所接受。以字符$开头的 name 被 RFC 2109 保留。给定的 name 如果不能被 HTTP/1.1 所接受,该方法抛出一个 IllegalArgumentException 。
方法
1、getComment
public String getComment();
返回描述这个 cookie 目的的说明,如果未定义这个说明,返回空值。
2、getDomain
public String getDomain();
返回这个 cookie 可以出现的区域,如果未定义区域,返回空值。
3、getMaxAge
public int getMaxAge();
这个方法返回这个 cookie 指定的最长存活时期。如果未定义这个最长存活时期,该方
法返回-1。
4、getName
public String getName();
该方法返回 cookie 名。
5、getPath
public String getPath();
返回这个 cookie 有效的所有 URL 路径的前缀,如果未定义,返回空值。
6、getSecure
public boolean getSecure();
如果这个 cookie 只通过安全通道传输返回真,否则返回假。
7、getValue
public String getValue();
该方法返回 cookie 的值。
8、getVersion
public int getVersion();
返回 cookie 的版本。版本 1 由 RFC 2109 解释。版本 0 由 Netscape CommunicationsCorporation 的说明解释。新构造的 cookie 默认使用版本 0。
9、setComment
public void setComment(String purpose);
如果一个用户将这个 cookie 提交给另一个用户,必须通过这个说明描述这个 cookie 的目的。版本 0 不支持这个属性。
10、setDomain
public void setDomain(String pattern);
这个方法设置 cookie 的有效域的属性。这个属性指定了 cookie 可以出现的区域。一个有效域以一个点开头(.foo.com) ,这意味着在指定的域 名解析系统的区域中(可能是www.foo.com 但不是 a.b.foo.com)的主机可以看到这个 cookie。默认情况是,cookie 只能返回保 存它的主机。
11、setMaxAge
public void setMaxAge(int expiry);
这个方法设定这个 cookie 的最长存活时期。在该存活时期之后,cookie 会被终目。负数表示这个 cookie 不会生效,0 将从客户端删除这个 cookie。
12、setPath
public void setPath(String uri);
这个方法设置 cookie 的路径属性。客户端只能向以这个给定的路径 String 开头的路径返回 cookie。
13、setSecure
public void setSecure(boolean flag);
指出这个 cookie 只能通过安全通道(例如 HTTPS)发送。只有当产生这个 cookie 的服务器使用安全协议发送这个 cookie 值时才能这样设置。
14、setValue
public void setValue(String newValue);
设置这个 cookie 的值,对于二进制数据采用 BASE64 编码。版本 0 不能使用空格、{}、()、= 、,、 “”、/、?、@ 、 :以及; 。
15、setVersion
public void setVersion(int v);
设置 cookie 的版本号
- HttpSessionBindingEvent类
public class HttpSessionBindingEventextends EventObject
这 个 事 件 是 在 监 听 到 HttpSession 发 生 绑 定 和 取 消 绑 定 的 情 况 时 连 通HttpSessionBindingListener 的。这可能是一个 session 被终止或被认定无效的结果。事件源是 HttpSession.putValue 或 HttpSession.removeValue。
构造函数
public HttpSessionBindingEvent(HttpSession session, String name);
通过引起这个事件的 Session 和发生绑定或取消绑定的对象名构造一个新的HttpSessionBindingEvent。
方法
1、getName
public String getName();
返回发生绑定和取消绑定的对象的名字。
2、getSession
public HttpSession getSession();
返回发生绑定和取消绑定的 session 的名字。