• 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. Cent OS 6.5下源码安装php7.2

    1.安装php需要的扩展 # yum install libxml2 libxml2-devel openssl openssl-devel libcurl libcurl-devel libjpeg ...

  2. Unity3d 协程

    参考文章: http://blog.csdn.net/onafioo/article/details/48979939 http://www.cnblogs.com/zhaoqingqing/p/37 ...

  3. 三十分钟学会AWK

    摘要: 本文大部分内容翻译自我开始学习AWK时看到的一篇英文文章 AWK Tutorial ,觉得对AWK入门非常有帮助,所以对其进行了粗略的翻译,并对其中部分内容进行了删减或者补充,希望能为对AWK ...

  4. 如何学习java?Java基础知识点分享

    面对未知的行业,人们的第一反应应该是:拒绝踏入.因为学习真的是一个痛苦的过程.想要真正了解一个行业,熟知一个行业,并熟练掌握某一技术,是真的需要时间和精力的.在学习Java基础知识期间,千锋小编疯狂为 ...

  5. oracle练习--@余生请指教多

    --1.查询出每个员工的编号,姓名,职位select Emp_id,Ename,job from emp;--2.查询每个员工的岗位名称select Ename,job from emp;--3.计算 ...

  6. Jmeter脚本调试之关联----(正则表达式)

    脚本调试 关联,在脚本中,是必应用到的一个设置方法,将脚本中,每次都会动态变化的特殊值进行关联.一个能正确执行的脚本,都需要进行关联(LR.jmeter). Jmeter关联: 在脚本回放过程中,客户 ...

  7. 2017 Multi-University Training Contest - Team 1 1001&&HDU 6033 Add More Zero【签到题,数学,水】

    Add More Zero Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)T ...

  8. BZOJ 1968: [Ahoi2005]COMMON 约数研究(新生必做的水题)

    1968: [Ahoi2005]COMMON 约数研究 Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 2351  Solved: 1797 [Submi ...

  9. 51Nod 1632 B君的连通(递归,快速幂)

    1632 B君的连通 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 B国拥有n个城市,其交通系统呈树状结构,即任意两个城市存在且仅存在一条交通线将其连接.A国是B ...

  10. sql server2008数据库复制实现数据同步常见问题

    sql server2008数据库复制实现数据同步常见问题 在原作者基础上追加 sql server2008数据库复制实现数据同步常见问题 23.发布 'xx' 的并发快照不可用,因为该快照尚未完全生 ...