广告
返回顶部
首页 > 资讯 > 精选 >Java如何设置session超时时间
  • 188
分享到

Java如何设置session超时时间

2023-06-06 10:06:31 188人浏览 八月长安
摘要

小编给大家分享一下Java如何设置session超时时间,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在一般系统登录后,都会设置一个当前session失效的时间,

小编给大家分享一下Java如何设置session超时时间,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

在一般系统登录后,都会设置一个当前session失效的时间,以确保在用户长时间不与服务器交互,自动退出登录,销毁session
具体设置的方法有三种:
1.在WEB容器中设置(以Tomcat为例)
在tomcat-7.0\conf\web.xml中设置,以下是tomcat7.0中默认配置:

<session-config>    <session-timeout>30</session-timeout></session-config>

tomcat默认session超时时间为30分钟,可以根据需要修改,负数或0为不限制session失效时间

这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果在调试程序,应该是修改服务器端时间来测试,而不是客户端

在工程的web.xml中设置

<!--时间单位为分钟--><session-config>    <session-timeout>15</session-timeout></session-config>

这里的15是指15分钟失效

通过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失效时执行的方法
例子:

public class OnlineUserListener implements HttpSessionListener{    public void sessionCreated(HttpSessionEvent event){        HttpSession session=event.getSession;        String id=session.getId()+session.getCreationTime();        SummerConstant.UserMap.put(id,Boolean.TRUE);//添加用户    }        public void sessionDestroyed(HttpSessionEvent event){        HttpSession session=event.getSession;        String id=session.getId()+session.getCreationTime();        synchronized(this){            SummerConstant.USERNum--;//用户数减-            SummerConstant.UserMap.remove(id);//从用户组中移除掉,用户组为一个map        }    }}

然后只需要把这个监听器在web.xml中声明就可以了

<listener>    <listener-class>com.demo.OnlineUserListener</listener-class></listener>

以上是“Java如何设置session超时时间”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Java如何设置session超时时间

本文链接: https://www.lsjlt.com/news/246472.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java如何设置session超时时间
    小编给大家分享一下Java如何设置session超时时间,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在一般系统登录后,都会设置一个当前session失效的时间,...
    99+
    2023-06-06
  • mysql怎么设置session的超时时间
    本篇内容介绍了“mysql怎么设置session的超时时间”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-18
  • 服务器session超时时间怎么设置
    服务器session超时时间可以通过修改web服务器的配置文件来设置。具体操作步骤如下:1. 打开web服务器的配置文件,如Apac...
    99+
    2023-06-10
    session超时 session
  • Springboot2 session设置超时时间无效的解决
    问题: 今天项目中遇到了一个设置时间超时的问题,按SpringBoot2的application.properties更改一直不生效。 解决方案: server.*属性用于...
    99+
    2022-11-12
  • Java中对Socket设置超时时间
    java中对Socket设置超时时间主要有以下两种方式,我们来看一下:(推荐:java视频教程)方式1:Socket s=new Socket(); s.connect(new InetSocketAddress(host,port),1...
    99+
    2016-12-21
    Java
  • php如何设置session时间
    本文小编为大家详细介绍“php如何设置session时间”,内容详细,步骤清晰,细节处理妥当,希望这篇“php如何设置session时间”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在使用PHP编写Web应用程序...
    99+
    2023-07-05
  • Springboot2 session设置超时时间无效的解决方法
    本篇内容介绍了“Springboot2 session设置超时时间无效的解决方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!问题:今天项目...
    99+
    2023-06-20
  • Oracle空闲超时时间如何设置
    本文小编为大家详细介绍“Oracle空闲超时时间如何设置”,内容详细,步骤清晰,细节处理妥当,希望这篇“Oracle空闲超时时间如何设置”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Oracle空闲超时时间设置远...
    99+
    2023-07-06
  • php如何设置会话超时时间
    这篇文章主要介绍“php如何设置会话超时时间”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php如何设置会话超时时间”文章能帮助大家解决问题。什么是PHP会话PHP会话是一个用于在服务端存储数据的机...
    99+
    2023-07-06
  • PHP连接超时时间如何设置
    本篇内容主要讲解“PHP连接超时时间如何设置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP连接超时时间如何设置”吧!连接超时时间是指当我们进行网络请求时,如果服务器无法响应请求,那么客户端...
    99+
    2023-07-05
  • php如何设置超时等待时间
    本文小编为大家详细介绍“php如何设置超时等待时间”,内容详细,步骤清晰,细节处理妥当,希望这篇“php如何设置超时等待时间”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在使用 PHP 进行开发时,有时需要执行耗...
    99+
    2023-07-05
  • session超时如何在Java项目中进行设置
    本篇文章为大家展示了session超时如何在Java项目中进行设置,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Java设置session超时的几种方式总结1.   &...
    99+
    2023-05-31
    java session ava
  • SpringBoot设置接口超时时间
    SpringBoot设置接口访问超时时间有两种方式一、在配置文件application.properties中加了spring.mvc.async.request-timeout=20000,意思是设置超时时间为20000ms即20s,二、...
    99+
    2015-11-02
    java教程 SpringBoot
  • php.ini怎么设置超时时间
    本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑php.ini 中缺省的最长执行时间是 30 秒,这是由 php.ini 中的 max_execution_time 变量指定,倘若你有一个需要颇多时间才能完成的工作,...
    99+
    2021-08-07
    php.ini 超时时间
  • 怎么设置session永不超时
    要设置Session永不超时,可以通过以下几种方法:1. 在服务器端设置Session超时时间为较大的值或者设置为0,表示永不超时。...
    99+
    2023-08-18
    session
  • java怎么设置接口调用超时时间
    在 Java 中,我们可以使用 `java.net.URLConnection` 或 `java.net.HttpURLConnec...
    99+
    2023-10-26
    java
  • php如何设置session失效时间
    这篇文章主要为大家展示了“php如何设置session失效时间”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php如何设置session失效时间”这篇文章吧。php设置session失效时间的方...
    99+
    2023-06-15
  • redis怎么设置hash超时时间
    Redis中的hash类型是没有超时时间的,但是可以通过设置hash中每个field的值为一个带有超时时间的字符串或者其他数据类型来...
    99+
    2023-09-01
    redis
  • MySQL默认连接超时时间如何设置
    MySQL的连接超时时间是由参数wait_timeout控制的,该参数的默认值是28800秒(8小时)。 要设置MySQL的连接超时...
    99+
    2023-10-24
    MySQL
  • Redis分布式锁如何设置超时时间
    目录Redis分布式锁设置超时时间网络抖动Redis宕机Redis分布式锁的超时问题Redis分布式锁设置超时时间 Redis分布式锁主要依靠Redis服务来完成,我们的应用程序其实是Redis节点的客户端,一旦客户端没...
    99+
    2022-11-18
    Redis分布式锁 Redis设置超时时间 分布式锁设置超时时间
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作