关于 Session 的内容,参考 HTTP - Session 机制

创建和检索 HttpSession

通过 HttpServletRequest.getSession 方法可以获取 HttpSession 实例。HttpServletRequest 有两个重载的 getSession 方法:

public HttpSession getSession();
public HttpSession getSession(boolean create);

无参数的 getSession 方法返回当前的 HttpSession 实例对象,如果当前不存在 HttpSession 实例的话,则创建一个新的 HttpSession 实例。如果当前不存在 HttpSession 实例的话,getSession(false) 方法不会创建新的 HttpSession 实例;getSession(true) 作用与 getSession() 相同。

设置和获取属性

setAttribute 方法可以在 HttpSession 实例上设置属性值。HttpSession 的属性值不仅可以是 String 类型,还可以是任意实现了 java.io.Serializable 的类型。这样当服务器的内存不足时,Servlet 容器可以将 session 序列化至文件或数据库。如果 HttpSession 的属性值不是可序列化的,那么当 Servlet 容器试图序列化 session 时会抛出异常。

getAttribute 方法可以获取 HttpSession 实例的属性值,getAttributeNames 方法则是获取 HttpSession 实例所有属性的名称。

其他方法

getId: 返回包含分配给此会话的唯一标识符的字符串。标识符是由 Servlet 容器分配的,并且是与实现相关的。

getCreationTime: 返回创建此会话的时间。

getLastAccessedTime: 返回客户端上一次发送与此会话关联的请求的时间。

getMaxInactiveInterval: 返回此会话的闲置时间,以秒为单位。

setMaxInactiveInterval: 设置此会话的闲置时间,以秒为单位。

invalidate: 使此会话无效,然后取消对任何绑定到它的对象的绑定。

isNew: 判断此会话是否为新建的。

Servlet & JSP - HttpSession的更多相关文章

  1. [Servlet&JSP] HttpSession会话管理

    我们能够将会话期间必须共享的资料保存在HttpSession中,使之成为属性.假设用户关掉浏览器接受Cookie的功能.HttpSession也能够改用URL重写的方式继续其会话管理功能. HttpS ...

  2. servlet&jsp高级:第三部分

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  3. Servlet&jsp基础:第五部分

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  4. Servlet&JSP基础

    Servlet     JSP     JSP四种基本语法:     JSP注释<%--注释内容-->     JSP声明<%!变量.函数%>     JSP表达式<%= ...

  5. Servlet&JSP中的知识点

    先sun提出的是Servlet体系,这个体系使得使用JAVA的程序员也能开发基于B/S架构的WEB应用程序,使用Servlet类将HTTP请求和响应封装在标准JAVA类中来实现各种WEB应用方案.随着 ...

  6. JavaBean+servlet+jsp——>对数据进行增删改查

    1.开始页面(查询数据) <%@page import="com.zdsofe.work.Student"%> <%@page import="java ...

  7. 基于Servlet+jsp的web计算器

    基于Servlet+jsp的web计算器 这次老大为了让我们自己复习web中页面的跳转给布置得任务 天下代码一大抄,关键看你怎么抄 首先我想到的计算算法不是什么堆栈,是简单的(其实很复杂,但是我就只需 ...

  8. Eclipse+Servlet+jsp+MySql

    一.JSP和Servlet的简单介绍: Java开发Web应用程序时用到的技术主要有两种,即Servlet和JSP,Servlet是在服务器端执行的Java程序,一个被称为Servlet容器的程序(其 ...

  9. Servlet+JSP例子

    前面两节已经学习了什么是Servlet,Servlet接口函数是哪些.怎么运行.Servlet生命周期是什么?  以及Servlet中的模式匹配URL,web.xml配置和HttpServlet.怎么 ...

随机推荐

  1. MongoDB Windows 下安装部署

    下面主要是我在Windows上(Win7)安装.运行.安装Windows服务的笔记,以作备忘. 1.下载 下载地址:http://www.mongodb.org/downloads 从其下载页面就可以 ...

  2. json网页预览插件

  3. 谈谈 JavaScript 中的 this 指向问题

    JavaScript 中的 this 为一个重难点,它不像静态语言 C#.Java 一样,就表示当前对象.而在 JS 中, this 是运行时确定,而并非定义时就已确定其值. 谈起 this ,必须少 ...

  4. How to do Mathematics

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:匿名用户链接:http://www.zhihu.com/question/30087053/answer/47815698来源 ...

  5. Codeforces Round #278 (Div. 1) B. Strip multiset维护DP

    B. Strip Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/487/problem/B De ...

  6. 使用C#: 自动切换鼠标的左右手习惯

    不知道我得的是鼠标手,还是肩周炎. 长时间右手(或者左手)使用鼠标的话,那只胳膊便会不自在. 于是便有了切换鼠标主次要键的需求. [控制面板->鼠标]有更改它的设置,可点来点去让我觉得不够方便. ...

  7. mmc运输问题

    运输问题,有生产和需求平衡,不平衡, 实际模型,没有多大意义,只是变个符号而已. 下面的是平衡的,如果不平衡,约束变一下就可以了.

  8. MHA手动在线切换主 原创3(主不参与复制)

    monitor 执行:slave2连接到slave1,server1 不做(主/从复制角色,停在那里) [root@monitor app1]# masterha_master_switch --co ...

  9. 修改mac os分辨率(VMware)

    转自:http://hi.baidu.com/hehonglei123/item/55591c17e7991d582a3e22a1 1. 在Mac系统中安装VMsvga2:VMsvga2_v1.2.3 ...

  10. 1015. Reversible Primes (20)

    the problem is from PAT,which website is http://pat.zju.edu.cn/contests/pat-a-practise/1015 this pro ...