[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 文件 配置属性说明 用于 ...
随机推荐
- [H5]range对象之selectNode等方法
关于range对象的selectNodeContents.selectNode.deleteContents方法 示例代码如下: <!DOCTYPE html> <html lang ...
- 在学习泛型时遇到的困惑经常与func<T,U>混淆
在学习泛型时遇到的困惑经常与func<T,U>混淆,总认为最后一个值是返回类型.现在区分一下,原来问题出在泛型委托上. C#委托的介绍(delegate.Action.Func.predi ...
- Python读写文件的路径,关于os.chdir(path)位置对程序的影响,
关于os.chdir(path)位置对程序的影响,import os import time#直接把path放到open()里面 def fu0(): star = time.time() for i ...
- js 本月,下一月,上一月
<script type="text/javascript"> var curMonth = new Date(); function initDate() { ) + ...
- i++,++i 作为参数
C++11Prime里说过不同的编译器读取参数的方向不同,有的从左到右,有的从右到左. 我在想他说的是不是指,32位系统通过栈把参数压入,所以从右到左,而64位前6个是寄存器存取,所以从左到右. 还是 ...
- 2017多校第10场 HDU 6171 Admiral 双向BFS或者A*搜索
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6171 题意: 给你一个高度为6的塔形数组,你每次只能将0与他上下相邻的某个数交换,问最少交换多少次可以 ...
- canvas粒子系统的构建
前面的话 本文将从最基本的imageData对象的理论知识说开去,详细介绍canvas粒子系统的构建 效果演示 下面是实例效果演示,博文结尾有全部源码 imageData 关于图像数据imageDat ...
- 微信原图泄露的只能是 Exif ,你的隐私不在这!!!
版权声明: 本账号发布文章均来自公众号,承香墨影(cxmyDev),版权归承香墨影所有. 每周会统一更新到这里,如果喜欢,可关注公众号获取最新文章. 未经允许,不得转载. 序 最近很多公众号都推送了关 ...
- Struts2简介以及初步搭建配置
一.基本介绍 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互. ...
- c++-STL:删除子串
void deletesub(string &str,const string &sub,int n) { int m,flag=0,num=0; //num是子串出现的次数 whil ...