Servlet 提供的 HttpSession 接口,提供了一种跨多个页面请求或访问网站时识别用户以及存储有关用户信息的方式。

Servlet 容器使用这个接口来创建一个 HTTP 客户端和 HTTP 服务器之间的 session 会话。会话持续一个指定的时间段,跨多个连接或页面请求。

可以通过 HttpServletRequest 的公共方法 getSession() 来获取 HttpSession 对象,如下所示:

HttpSession session = request.getSession();

HttpSession 有以下几个重要方法

1.public Object getAttribute(String name):该方法返回在该 session 会话中具有指定名称的对象,如果没有指定名称的对象,则返回 null。

2.public Enumeration getAttributeNames():该方法返回 String 对象的枚举,String 对象包含所有绑定到该 session 会话的对象的名称。

3.public long getCreationTime()该方法返回该 session 会话被创建的时间,自格林尼治标准时间 1970 年 1 月 1 日午夜算起,以毫秒为单位。

4.public String getId():该方法返回一个包含分配给该 session 会话的唯一标识符的字符串。

5.public long getLastAccessedTime():该方法返回客户端最后一次发送与该 session 会话相关的请求的时间自格林尼治标准时间 1970 年 1 月 1 日午夜算起,以毫秒为单位。

6.public int getMaxInactiveInterval():该方法返回 Servlet 容器在客户端访问时保持 session 会话打开的最大时间间隔,以秒为单位。

7.public void invalidate():该方法指示该 session 会话无效,并解除绑定到它上面的任何对象。(就算通过setMaxInactiveInterval()将session回话设置为永远有效,该方法也会立即指示session无效,下次访问时,重新创建新的session)

8.public boolean isNew():如果客户端还不知道该 session 会话,或者如果客户选择不参入该 session 会话,则该方法返回 true。

9.public void removeAttribute(String name):该方法将从该 session 会话移除指定名称的对象。

10.public void setAttribute(String name, Object value) :该方法使用指定的名称绑定一个对象到该 session 会话。

11.public void setMaxInactiveInterval(int interval):方法在 Servlet 容器指示该 session 会话无效之前,指定客户端请求之间的时间,以秒为单位。(tomcat7通过这个设置为0时永不过期)

也可以通过下述方式设置所有的session回话持续时间(以分钟为单位)

<session-config>

<session-timeout>15</session-tomeout>

</session-config>

最新文章

  1. Linux常用文件介绍
  2. 与(and)&amp;&amp;
  3. Entity Framework学习笔记(一)
  4. Contoso 大学 - 1 - 为 ASP.NET MVC 应用程序创建 EF 数据模型
  5. 如何写一个网页标题title的闪动提示(转)
  6. 安装Stomp扩展时错误提示error: &#39;zend_class_entry&#39; has no member named &#39;default_properties&#39;
  7. RouteHttpMap要添加的引用
  8. win8/win10/win2012r2 存储池 冗余分析
  9. winhec
  10. 【OH】Oracle软件安装需要的软件包(官方文档)
  11. ES2015 类中的静态方法
  12. 06 获取Activity的栈管理器
  13. 各种类型文件的Content-Type
  14. Python3标准库
  15. 关于Hibernate级联更新插入信息时提示主键不为空的问题“org.hibernate.StaleStateException: Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1 ”
  16. 使用Visual Studio 2017开发Linux程序
  17. Jenkins环境搭建(2)-搭建jmeter+ant+jenkins自动化测试环境
  18. Hibernate利用@DynamicInsert和@DynamicUpdate生成动态SQL语句
  19. drools研究后记
  20. Magento如何设置产品的打折或者优惠价格

热门文章

  1. 痞子衡嵌入式:高性能MCU之Media应用开发那些事 - 索引
  2. 盘点 Python 中的那些冷知识(一)
  3. Docker在Linux上运行NetCore系列(三)在Linux上使用Docker运行Asp.NetCore
  4. c#用winform开发一个简易双色球项目
  5. PostgreSql的Explain命令详解
  6. 杭电ACM2019--数列有序!
  7. FreeMarker js 获取后台设置的request、session
  8. bootstrap实现表格
  9. MySQL分组查询与连接查询
  10. python 练习 后台返回当前时间