zoukankan      html  css  js  c++  java
  • session过期的三种方法

    JavaWeb设置session失效时间的三种方式以及注意事项
    1、通过web容器配置
    2、通过项目中的web.xml中配置
    3、通过java代码动态配置
    4、优先级

    当用户登陆系统后,服务器会设置一个当前session失效的时间,以确保在用户长时间不与服务器交互,自动销毁session,退出登录,释放资源。
    1、通过web容器配置


             在web容器中设置,以Tomcat-9.0.16为例,在安装目录confweb.xml文件中找到session-config元素,以下是默认配置:

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

       需要注意这里时间单位为分钟,参数必须为整数。

         由于在服务器中设置,则session设置的时间是根据服务器来计算的,而不是客户端。所以如果是在调试程序,应该是修改服务器端时间来测试,而不是客户端。

    2、通过项目中的web.xml中配置


    在项目的web.xml中配置,以Eclipse for JavaEE为例,在WebContentWEB-INFlib文件夹下打开web.xml(如没有则手动创建)

    同样,时间单位为分钟,这里表示session在创建后10分钟后失效

    3、通过java代码动态配置
      session.setMaxInactiveInterval(10) ; //设置非活跃间隔时间

      setMaxInactiveInterval(int second)不同于以上两种方法,并且有几个注意点:

        (1)时间单位为秒

        (2)此方法表示当前session在指定时间内若没有与服务器发生任何交互后失效

        (3)期间用户的任何活动都将刷新session的失效时间,例如在10秒内用户刷新页面将重新计算失效时间

    4、优先级
    如果上述三种方法都设置了,那么优先级按照从高到低:代码设置 > 项目web.xml设置 > 容器web.xml设置(3>2>1)

  • 相关阅读:
    母函数做的题
    HDU2089 暴力打表
    HDU2036 改革春风吹满地
    HDU1201 水题
    高可用服务 AHAS 在消息队列 MQ 削峰填谷场景下的应用
    Nacos Committers 团队首亮相,发布 0.9.0 版本
    Dubbo Mesh 在闲鱼生产环境中的落地实践
    Watchdogs利用Redis实施大规模挖矿,常见数据库蠕虫如何破?
    阿里在使用一种更灵活的软件集成发布模式
    2019 年,容器技术生态会发生些什么?
  • 原文地址:https://www.cnblogs.com/mark5/p/12767749.html
Copyright © 2011-2022 走看看