[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
转载于:https://www.cnblogs.com/deng-cc/p/7462894.html
[05] Session概要相关推荐
- Rails5 Controller Document
更新: 2017/06/28 大致完成全部 更新: 2017/06/29 补充module文件命名规则 更新: 2017/07/09 补充session的设置 更新: 2018/03/06 修正ren ...
- python自动测试p-python 自动化测试 pytest 的使用
pytest 是一款以python为开发语言的第三方测试,主要特点如下: 比自带的 unittest 更简洁高效,兼容 unittest框架 支持参数化 可以更精确的控制要测试的测试用例 丰富的插件, ...
- 收发邮件服务器错误,邮件系统收发邮件报错汇总——错误代码550
2013-11-22 10:02 您好,请教一个 Mdaemon 的问题:SMTP session terminated,具体log如下:|@|Thu 2013-11-21 18:44:23: --- ...
- 全网最全pytest大型攻略,单元测试学这就够了
pytest 是一款以python为开发语言的第三方测试,主要特点如下: 比自带的 unittest 更简洁高效,兼容 unittest框架 支持参数化 可以更精确的控制要测试的测试用例 丰富的插件, ...
- 数据圈最全的数据产品文章全集
大家好!今天给大家一个我的老朋友:「一个数据人的自留地」,数据人自留地是一个集数据产品.数据分析.数据仓库.产品策略与一体的数据人专属社群.创始人大鹏老师,拥有8年的数据经验,现在是人人都是产品经理专 ...
- Hibernate-基础学习
一.概括 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行, ...
- c#开发电子商务网站---我的笔记
2019独角兽企业重金招聘Python工程师标准>>> 电子商务网站(C#版) 通过一个在线的电子商务网站(网上书店销售系统)的实例,来讲述如何采用ASP.NET 3.5+SQL S ...
- linux停止java定时任务,linux定时任务生产java服务无法执行问题案例
我写了一个重启resin的脚本,由于业务原因,需要定时在某一个时间重启下resin服务器 于是就在crontab里配置了如下内容: * * - root /usr/local/bin/resin_re ...
- 2022面试200题目和答案分布式+微服务+MYSQL+Redis+JVM+Spring
200题目和答案分布式+微服务+MYSQL+Redis+JVM+Spring等等 带图MD在资源https://download.csdn.net/download/m0_47987937/86509 ...
最新文章
- 高校新校园网络系统设计方案
- multipart/form-data和application/x-www-form-urlencoded的区别
- (2)ARM Cortex-M3指令集
- 一些Python情结
- sigmoid function vs softmax function
- sql server中创建数据库和表的语法
- MySQL json-table-functions
- [转载]Hamachi 安装过程
- Windows驱动——利用WinDriver开发PCI设备驱动程序
- js排序算法详解-计数排序
- 用户如何设置浏览器主页的历史记录和管理加载项
- cognos数据源配置修改oracle,Cognos 新建数据源报错(原创)
- 如何备份android,如何备份安卓手机系统
- Java简单循环依赖的解决 —— spring_imitate(Spring的模仿)
- python解高次方程的解法_Python退火算法在高次方程的应用
- C语言学习日记(yzy):socket(TCP)网络连接
- 什么是“荷花定律”?
- UBUNTU开启CRONTAB日志记录及解决NO MTA INSTALLED, DISCARDING OUTPUT问题
- 基于macos M1 python3.8的tensorflow安装(简单方便几步完成)
- live555 android,live555
热门文章
- 多进程 VS 多线程
- Eclipse中使用自己的makefile管理工程
- Python正则表达式如何进行字符串替换
- [react] react声明组件有哪几种方法,各有什么不同?
- [react-router] React-Router 4中<Router>组件有几种类型?
- javascript学习系列(18):数组中的include方法
- 前端学习(3122):react-hello-react总结state
- 前端学习(2948):webpack创建简单项目
- [html] 怎样使用iframe刷新父级页面
- [html] 使用svg画一个爱心