关于 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. angular 管理后台

    http://blog.csdn.net/iamnieo/article/details/50474399

  2. Android改变了PDA市场格局

    看到一则消息<联想PDA助力306医院智慧医疗建设>,看完后感慨颇多:"大象"终于开始踩"蚂蚁"了!虽然主观上感觉这种做法很不地道,同时为传统PDA ...

  3. javascript keycode大全【转载】

    keycode    8 = BackSpace BackSpace keycode    9 = Tab Tabkeycode   12 = Clearkeycode   13 = Enterkey ...

  4. PostgreSQL的 initdb 源代码分析之二十

    继续分析: setup_privileges(); 展开: 这是设置权限. 其cmd是:"/home/pgsql/project/bin/postgres" --single -F ...

  5. Swift学习笔记七

    控制流 Swift提供了和C类似的控制流表达式,包括for.while.if.switch.当然也包括break和continue这种语句来引导控制流到某个指定点的语句. 在C的for基础上,Swif ...

  6. Android传感器编程带实例

    看了程序人生 网站的 编程高手的编程感悟 深有感触,好像也是一个android 程序员写的,推荐大家也看看.话不多说,还是言归正传吧. 一.前言 我很喜欢电脑,可是笔记本还是太大,笔记本电脑再小还是要 ...

  7. Linux rsync 同步实践

    目录[-] 1. rsync 同步的大致思路 2. rsync的安装 3. rsync的配置 4. rsync的基本操作 服务器端启动 注2. 实时同步 注3. rsync通过linux防火墙 公司网 ...

  8. 发布站点到远程FTP根目录

    第一步:修改 phpcms/modules/admin/templates/site_add.tpl.php 找到 <legend><?php echo L('release_poi ...

  9. 模板方法模式(Template Method)

    @@@模式定义: 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中. 模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. @@@练习示例:  登录控制 @@@示例代码: \s ...

  10. Redis 性能测试

    Redis 性能测试是通过同时执行多个命令实现的. 语法 redis 性能测试的基本命令如下: redis-benchmark [option] [option value] 实例 以下实例同时执行 ...