zoukankan      html  css  js  c++  java
  • Servlet--HttpSession接口,HttpSessionContext接口,Cookie类

    • 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 的名字。
  • 相关阅读:
    General part中方向选取的作用
    mount part中位置的作用
    关于zero pivot
    Revit二次开发示例:ModelessForm_ExternalEvent
    elasticsearch6.4 memory locking requested for elasticsearch process but memory is not locked
    百度网盘 http://pandownload.com/index.html
    MySQL 5.7主从复制从零开始设置及全面详解——实现多线程并行同步,解决主从复制延迟问题!
    linux 系统优化
    服务器cpu过高修复:操作系统内核bug导致
    Jvm中时区设置方式
  • 原文地址:https://www.cnblogs.com/LinkinPark/p/5233018.html
Copyright © 2011-2022 走看看