[05] Session概要
1、Session是什么

2、HttpSession接口
2.1 会话对象的获取
- public HttpSession getSession() 获取当前请求相关的Session,若不存在则新建后返回
- public HttpSession getSession(boolean create) 若参数为true,则等同getSession();若为false,则Session不存在时返回null,而不会新建
| 返回值 | 方法名 | 说明 |
| void | setAttribute(String key, Object value) | 以key/value的形式保存对象值 |
| Object | getAttribute(String key) | 通过key获取对象值 |
| void | removeAttribute(String key) | 通过key删除属性 |
| int | getMaxInactiveInterval() | 获取session的有效非活动时间,以秒为单位 |
| void | setMaxInactiveInterval(int interval) | 设置session的最大非活动时间,以秒为单位,超时则销毁 |
| String | getId() | 获取session对象的编号 |
| void | invalidate() | 设置session对象失效 |
| boolean | isNew() | 判断一个session是不是一个新创建的会话对象 |
- 有效范围不同
- 请求中的属性只在当前请求内有效,只有通过转发才能把当前请求对象转发到下个资源
- 会话属性在会话对象中有效,即客户端和服务器连接后,只要没有关闭浏览器,服务器也正常,则在该次会话中属性一直有效
2.2 会话失效
<session-config>
<session-timeout>50</session-timeout>
</session-config>
<session-config>
<session-timeout>50</session-timeout>
</session-config>
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doGet() running...");
HttpSession session = request.getSession();
session.setMaxInactiveInterval(2*60*60);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doGet() running...");
HttpSession session = request.getSession();
session.setMaxInactiveInterval(2*60*60);
}
- web.xml中配置有效时间是针对当前应用下的所有session,而setMaxInactiveInterval方法只是针对单独的某个session对象
- web.xml中设置时间单位是min,而setMaxInactiveInterval设置时间单位是sec
[05] Session概要的更多相关文章
- Hibernate 系列 05 - Session 类
引导目录: Hibernate 系列教程 目录 前言: Session是Hibernate运作的中心,对象的生命周期.事务的管理.数据库的存取都与Session息息相关. 就如同在编写JDBC时需要关 ...
- session概要
一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况 下).因此,在需要保存用户数据时,服 ...
- 编程从入门到提高,然后放弃再跑路(Java)
1.Java入门篇 1.1 基础入门和面向对象 1.1.1 编程基础 [01] Java语言的基本认识 [02] 类和对象 [03] 类的结构和创建对象 [04] 包和访问权限修饰符 [05] 利用p ...
- 编程从入门到放弃(Java)
1.Java入门篇 1.1 基础入门和面向对象 1.1.1 编程基础 [01] Java语言的基本认识 [02] 类和对象 [03] 类的结构和创建对象 [04] 包和访问权限修饰符 [05] 利 ...
- 关于Session的概念和测试点
Session概要 Session 是用于保持状态的基于 Web 服务器的方法,在 Web 服务器上保持用户的状态信息供在任何时间从任何页访问. Session 允许通过将对象存储在 Web 服务器的 ...
- 从零开始写一个发送h264的rtsp服务器(上)
转自:http://blog.csdn.net/jychen105/article/details/47006345 一.什么是RTSP 通常所说的rtsp协议其实包含三个协议: rtsp协议, rt ...
- Rails5 Controller Document
更新: 2017/06/28 大致完成全部 更新: 2017/06/29 补充module文件命名规则 更新: 2017/07/09 补充session的设置 更新: 2018/03/06 修正ren ...
- Hibernate 系列 学习笔记 目录 (持续更新...)
前言: 最近也在学习Hibernate,遇到的问题差不多都解决了,顺便把学习过程遇到的问题和查找的资料文档都整理了一下分享出来,也算是能帮助更多的朋友们了. 最开始使用的是经典的MyEclipse,后 ...
- Tomcat服务器配置以及相关配置文件介绍
摘自:http://blog.163.com/ny_lonely/blog/static/18892427320136925044357/ context.xml 文件 配置属性说明 用于 ...
随机推荐
- 【MySQL】 清除等待连接
由于MySQL突然新增了很多连接,超出了my.cnf所设置的最大连接数,MySQL服务无法访问,这里通过Shell脚本来删掉Sleep连接 方式1 清除连接进程 #!/bin/bash #------ ...
- 50个Java多线程面试题(上)
Java 语言一个重要的特点就是内置了对并发的支持,让 Java 大受企业和程序员的欢迎.大多数待遇丰厚的 Java 开发职位都要求开发者精通多线程技术并且有丰富的 Java 程序开发.调试.优化经验 ...
- Linux主分区,扩展分区,逻辑分区的联系和区别
主分区,也称为主磁盘分区,和扩展分区.逻辑分区一样,是一种分区类型.主分区中不能再划分其他类型的分区,因此每个主分区都相当于一个逻辑磁盘(在这一点上主分区和逻辑分区很相似,但主分区是直接在硬盘上划分的 ...
- Akka(20): Stream:压力缓冲-Batching backpressure and buffering
akka-stream原则上是一种推式(push-model)的数据流.push-model和pull-model的区别在于它们解决问题倾向性:push模式面向高效的数据流下游(fast-downst ...
- Educational Codeforces Round 27 补题
题目链接:http://codeforces.com/contest/845 A. Chess Tourney 水题,排序之后判断第n个元素和n+1个元素是不是想等就可以了. #include < ...
- asp.net mvc 接入美圣短信 验证码发送
第1步:登录美圣短信控制台 http://www.rcscloud.cn/hy/HY_ZH/login 账号:******* 密码:******* http://www.rcscloud.cn/com ...
- Struts拦截器解析
内建拦截器可以去struts-core.jar中的struts-default.xml文件中查看: 在没有引用内建拦截器时,已经帮我们指定了一个默认的拦截器: 使用的软件为MyEclipse:很强大!
- js、JSP、servlet之间的传递小结
@ JS 与 JSP :JSP无法直接获取JS的值,只能通过隐藏表单或者dom节点设置. JSP中设置隐藏表单input,或者设置任意一个隐藏或者不隐藏的节点比如div, 而JS就通过document ...
- Java集合类库list(1)ArrayList实例
public class ArrayListTest { public static void main(String[] args) { //创建空的ArrayList列表 ArrayList al ...
- Android开发——xml知识之xml可绘制对象简介
引言:摘录Android用户界面设计 Android支持各类xml可绘制对象,其中一些可绘制对象可用于实现让一个资源使用多个图片文件,另外一些则允许你在xml中真正地指定颜色,还有一些你从来都不会用到 ...