• 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 的名字。

Servlet--HttpSession接口,HttpSessionContext接口,Cookie类的更多相关文章

  1. servlet的基本类和接口

    javax.servlet.Servlet接口 javax.servlet.GenericServlet类(协议无关版本) javax.servlet.http.HttpServlet类(HTTP版本 ...

  2. 线程入门之实现Runnable接口和继承Thread类

    线程的2种使用方式:实现Runnable接口和继承Thread类 1.实现Runnable接口 实现Runnable接口,必须实现run方法,也是Runnable接口中的唯一一个方法 class Ru ...

  3. php面向对象之抽像类、接口、final、类常量

    一.抽像类(abstract)        在我们实际开发过程中,有些类并不需要被实例化,如前面学习到的一些父类,主要是让子类来继承,这样可以提高代码复用性语法结构:  代码如下 复制代码   ab ...

  4. java:接口特性 接口与抽象类/普通类的区别

    接口 书面定义: Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 在ja ...

  5. mybatis源码学习--spring+mybatis注解方式为什么mybatis的dao接口不需要实现类

    相信大家在刚开始学习mybatis注解方式,或者spring+mybatis注解方式的时候,一定会有一个疑问,为什么mybatis的dao接口只需要一个接口,不需要实现类,就可以正常使用,笔者最开始的 ...

  6. Java集合框架之四大接口、常用实现类

    Java集合框架 <Java集合框架的四大接口> Collection:存储无序的.不唯一的数据:其下有List和Set两大接口. List:存储有序的.不唯一的数据: Set:存储无序的 ...

  7. @resource、@Autowired、@Service在一个接口多个实现类中的应用

    Spring在没有引入注解之前,传统的Spring做法是使用.xml文件来对bean进行注入,所有的内容都需要配置在.xml文件中,使配置和编程分离,却增加了可读性和复杂度. Spring注解将复杂的 ...

  8. java-类与类,类与接口,接口与接口的关系

    1.类与类: - 继承关系,只能单继承,可以多层继承. 2.类与接口: - 实现关系,可以单实现,也可以多实现. - 并且还可以在继承一个类的同时实现多个接口. - * 例:class Demo ex ...

  9. Spring @Autowired注解用在集合上面,可以保持接口的所有实现类

    CourseService课程接口有2个子类,HistroyCourseServiceImpl和MathsCourseServiceImpl public interface CourseServic ...

随机推荐

  1. Eclipse 配置scala开发环境(windows)

    1. scala2.10.4.msi 安装 2. 配置SCALA_HOME 及path路径 SCALA_HOME C:\Program Files (x86)\scala PATH :%SCALA_H ...

  2. 在单链表和双链表中删除倒数第k个结点

    题目: 分别实现两个函数,一个可以删除单链表中倒数第K个节点,另一个可以删除双链表中倒数第K个节点. 要求: 如果链表长度为N,时间复杂度达到O(N),额外空间复杂度达到O(1). 解答: 让链表从头 ...

  3. powershell V6.0登基之:《瘸腿脚本大帝进攻linux!》

    ------[前言]------ 每个ps大版本发布,我都会写个消息. 这次的,主标题就叫:powershell v6.0登基副标题就叫:<瘸腿脚本大帝进攻linux!> ------[p ...

  4. Percona XtraBackup的部分备份与恢复/单库备份/单表备份/指定库备份/指定表备份

    本文是翻译的Percona XtraBackup 2.2版的官方文档,原文地址在此:https://www.percona.com/doc/percona-xtrabackup/2.2/innobac ...

  5. 五分钟学习React(三):纯HTML代码搭建React应用

    上一期我们使用了React官方的脚手架运行React应用.大家可能会觉得这种方法很繁琐,需要配置各种第三方插件.JQuery时代的前端真是让人怀念.这一期,我就带领大家创建一个"怀旧版&qu ...

  6. JAVA基础-集合(二)

    一.Map整体结构体系 Map是集合的另一大派系,与Collection派系不同的是Map集合是以键值对儿的形式存储在集合的.两个键为映射关系,其中第一个键为主键(主键是唯一的不可重复),第二个键为v ...

  7. Django的生命周期图解

    下边的图就是一次完整的django生命周期,从客户端输入url,经过wsgi模块处理,得到符合HTTP协议的字符串,走中间件,假如中间件return None,继续往下走到urls......; 假如 ...

  8. Open Judge 2750 鸡兔同笼

    2750:鸡兔同笼                                                                                            ...

  9. 51Nod 1080 两个数的平方和(数论,经典题)

    1080 两个数的平方和 基准时间限制:1 秒 空间限制:131072 KB 分值: 5         难度:1级算法题 给出一个整数N,将N表示为2个整数i j的平方和(i <= j),如果 ...

  10. 搭建vue开发环境的步骤

    相信很多人在刚开始学习vue这个框架的时候,在最开始搭建开发环境的时候,都会遇到一些大大小小的坑,我之前在学习angular的时候搭建过一次,过了一个月后在搭建第二次的时候,竟然有一些混乱,所以今天想 ...