JavaWeb Session失效时间设置方法

 更新时间:2016年12月30日 14:33:31   投稿:mrr  
这篇文章主要介绍了JavaWeb Session失效时间设置方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

 session失效时间设置方法,具体方法如下所示:

一、java代码   <!--优先级是最高的-->

request.getSession().setMaxInactiveInterval(1800);/*秒为单位,1800= 60*30 即30分种*/

二、web.xml  <!--优先级是最低的-->

<session-config>  <!--分钟为单位-->
  <session-timeout>30</session-timeout>
</session-config>

三、web服务器resin.conf,tomcat,

<session-config>  <!--分钟为单位-->
  <session-timeout>30</session-timeout>
  <enable-url-rewriting>false</enable-url-rewriting>
</session-config>

优先级: 1 > 3 > 2

session 在tomcat重启后一般也不会失效,关闭浏览器后,session失效

在一般系统中,也可能需要在session失效后做一些操作:

(1)控制用户数,当session失效后,系统的用户数减少一个等,控制用户数在一定范围内,确保系统的性能。

(2)控制一个用户多次登录,当session有效时,如果相同用户登录,就提示已经登录了,当session失效后,就可以不用提示,直接登录了。

那么如何在session失效后,进行一系列的操作呢?

这里就需要用到监听器了,即当session因为各种原因失效后,监听器就可以监听到,然后执行监听器中定义好的程序就可以了。

监听器类为: HttpSessionListener 类,有 sessionCreated 和sessionDestroyed 两个方法

  自己可以继承这个类,然后分别实现。

  sessionCreated指在session创建时执行的方法

  sessionDestroyed指在session失效时执行的方法

如下:

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

把这个监听器在web.xml中声明就可以了:

<listener>   
  <listener-class>com.demo.system.listener.OnlineListener</listener-class>   
</listener>

上面是一个简单的利用session监听用户数的方法,在实际过程中,可能比这个复杂得多。

比如要同时实现 ServletContextListener,HttpSessionListener两个接口,重写它们的方法等。

以上所述是小编给大家介绍的JavaWeb Session失效时间设置方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Java线程阻塞方法sleep()与wait()的全面讲解

    Java线程阻塞方法sleep()与wait()的全面讲解

    这篇文章主要介绍了Java线程阻塞方法sleep()与wait()的全面讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • Springboot实现自定义错误页面的方法(错误处理机制)

    Springboot实现自定义错误页面的方法(错误处理机制)

    这篇文章主要介绍了Springboot实现自定义错误页面的方法(错误处理机制),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Java单元测试Mockito的使用详解

    Java单元测试Mockito的使用详解

    Mockito是一个强大的mock工具,本文将重点讲述Mockito的基本使用及注意事项,以及Controller测试用例,本文通过示例代码给大家介绍的非常详细,需要的朋友参考下吧
    2021-07-07
  • Java实现Socket的TCP传输实例

    Java实现Socket的TCP传输实例

    这篇文章主要介绍了Java实现Socket的TCP传输,实例分析了java通过socket实现TCP传输的相关技巧,需要的朋友可以参考下
    2015-05-05
  • IntelliJ Idea常用11款插件(提高开发效率)

    IntelliJ Idea常用11款插件(提高开发效率)

    这篇文章主要介绍了IntelliJ Idea常用11款插件(提高开发效率),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Java使用Junit4.jar进行单元测试的方法

    Java使用Junit4.jar进行单元测试的方法

    今天通过本文给大家介绍Java使用Junit4.jar进行单元测试的方法,本文通过图文实例相结合给大家介绍的非常详细,需要的朋友参考下吧
    2021-11-11
  • Java源码跟踪阅读技巧【值得收藏】

    Java源码跟踪阅读技巧【值得收藏】

    今天跟大家分享一下我平时阅读源码的几个小技巧,对于阅读Java中间件如Spring、Dubbo等框架源码的同学有一定帮助。本文基于Eclipse IDE,感兴趣的朋友跟随小编一起看看吧
    2018-11-11
  • 基于Java+SSM实现电影院购票系统

    基于Java+SSM实现电影院购票系统

    今天小编给大家带来一款SSM的电影院售票系统,非常不错的一个项目,是学习​javaweb编程必备。文中的示例代码讲解详细,需要的可以参考一下
    2022-04-04
  • idea首次使用需要配置哪些东西

    idea首次使用需要配置哪些东西

    这篇文章主要介绍了idea首次使用需要配置哪些东西,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • JavaWeb文件上传与下载功能解析

    JavaWeb文件上传与下载功能解析

    这篇文章主要为大家详细介绍了JavaWeb文件上传与下载功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06

最新评论