java获取session失效时间_Java设置session超时(失效)的时间
在一般系统登录后,都会设置一个当前session失效的时间,以确保在用户长时间不与服务器交互,自动退出登录,销毁session
具体设置的方法有三种:
1.在web容器中设置(以tomcat为例)
在tomcat-7.0\conf\web.xml中设置,以下是tomcat7.0中默认配置:
tomcat默认session超时时间为30分钟,可以根据需要修改,负数或0为不限制session失效时间
这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果在调试程序,应该是修改服务器端时间来测试,而不是客户端
2.在工程的web.xml中设置
这里的15是指15分钟失效
3.通过java代码设置
session.setMaxInactiveInterval(30*60);//以秒为单位,即在没有活动30分钟后,session将失效
三种方式优先等级:1 < 2 < 3
在一般系统中,也可能需要在session失效后做一些操作:
1.控制用户数,当session失效后,系统的用户数减少一个,控制用户数量在一定范围内,确保系统的性能
2.控制一个用户多次登录,当session有效时,如果相同用户登录,就提示已经登录了,当session失效后,就可以不同提示,直接登录
那么如何在session失效后,进行一系列的操作呢?
这里就需要用到监听器了,即当session因为各种原因失效后,监听器就可以监听到,然后执行监听器中定义好的程序就可以了
监听器类为:HttpSessionListener类,有sessionCreated和sessionDestroyed两个方法
自己可以继承这个类,然后分别实现
sessionCreated指在session创建时执行的方法
sessionDestroyed指在session失效时执行的方法
例子:
1 public class OnlineUserListener implementsHttpSessionListener{2 public voidsessionCreated(HttpSessionEvent event){3 HttpSession session=event.getSession;4 String id=session.getId()+session.getCreationTime();5 SummerConstant.UserMap.put(id,Boolean.TRUE);//添加用户
6 }7
8 public voidsessionDestroyed(HttpSessionEvent event){9 HttpSession session=event.getSession;10 String id=session.getId()+session.getCreationTime();11 synchronized(this){12 SummerConstant.USERNum--;//用户数减-
13 SummerConstant.UserMap.remove(id);//从用户组中移除掉,用户组为一个map
14 }15 }16 }
然后只需要把这个监听器在web.xml中声明就可以了
com.demo.OnlineUserListener
java获取session失效时间_Java设置session超时(失效)的时间相关推荐
- 1114Selenium web自动化测试经验分享-设置网页超时加载时间set_page_load_timeout()
最开始学习web自动化测试就遇到一个小困扰,有时候设计的用例可能会打开新浪.腾讯这些网站,等待网页加载完成都要小半分钟.最近重拾web自动化测试,又遇到这个困扰. 个人博客:https://blog. ...
- java 设置session超时_Java设置session超时(失效)的三种方式
转自:http://blog.csdn.net/hu_shengyang/article/details/8021435 1. 在web容器中设置(此处以tomcat为例) 在tomcat- ...
- java设置过期时间_java设置session过期时间的实现方法
本文实例讲述了java设置session过期时间的实现方法,分享给大家供大家参考.具体实现方法如下: 1.Timeout in the deployment descriptor (web.xml) ...
- java 获取ftp路径_Java Source 根据输入 ftp 地址 账号 密码 路径 读取提供路径下的文件...
参考上面的: 引用jar包 ganymed-ssh2-build210.jar jar 包放在 $ORACLE_HOME/sqlj/lib 执行loadjava命令 加载jar包 路径下 执行 ...
- php 设置session目录,php设置session保存目录的方法
php设置session保存目录的方法 发布时间:2020-08-01 14:33:16 来源:亿速云 阅读:74 作者:清晨 小编给大家分享一下php设置session保存目录的方法,希望大家阅读完 ...
- php设置session 生命周期,设置session的生命周期(php)
PHP中,Session变量保存在服务器端(默认以文件格式保存),而Session ID以cookie形式保存在客户端. 销毁session的方法有2种 第一种是通过程序 session_destor ...
- java 获取当前年_java中的反射(三) - kelexin
目录一.反射1.class类2.访问字段3.调用方法4.调用构造方法5.获取继承对象6.动态代理二.sping中的反射 本篇转自:本篇内容spring中的反射 java中的反射(一): java中的反 ...
- java word 纸张大小_Java 设置 Word 页边距, 页面大小, 页面方向, 页面边框
Java 设置 Word 页边距, 页面大小, 页面方向, 页面边框 本文将通过 Java 示例介绍如何设置 Word 页边距 (包括上, 下, 左, 右), 页面大小 (可设置 Letter/A3/ ...
- java 获取区间随机数_Java获取随机数的3种方法
主要介绍了Java获取随机数的3种方法,主要利用random()函数来实现 方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1))例: (int)(1+Math.rando ...
最新文章
- Python自动化运维之5、内置函数
- golang defer 关闭文件 报错file may have nil or other unexpected value as its corresponding error
- python模块引用
- 性能调优工具类TimeStone
- P4597-序列sequence【堆】
- C++:17---函数指针
- ACL’22 | 为大模型定制的数据增强方法FlipDA,屠榜六大NLU 数据集!
- Python数据结构与算法(五)--链表
- Docker配置国内镜像加速
- 爬虫入门五(Phantomjs和selenium)
- VC2008 ATL控件 去掉运行库依赖
- Ubuntu PIL 安装
- 项目风险管理课程学习
- Jquery实现验证码功能 完美效果 jsp php 页面均可调用
- SQL Server中的窗口函数
- 阿里:车联网将成新网络入口
- 决策树算法与python——心脏病预测
- Yolov5学习笔记(1)——训练出自己的模型
- Gartner发布《2023年十大战略技术趋势》
- 7000字详解数据指标体系如何从设计到落地