session过期时间是多少?如何查看session是否过期?

KLQ 2020-04-22 15:22:58 java常见问答 4590

对于session的过期时间你是否了解呢?session默认过期时间是多少?如何判断是否都过期?下面一起来了解一下吧。

session过期时间什么时候开始算?

1、从不活动的时候开始计算(从没有被访问开始计算)

2、一直活动,就不会过期

3、一旦被访问,计算清零

怎样判断session过没过期?

一、依据if(session.getAttribute('user')==null)判断是否为空

二、判断session不为空的方法:

request.getSeesion(boolean)方法,这个方法里面传了一个boolean值,这个值假如是true,那么假如当前的request的session不可用,那么就创建新的会话,假如存在就返回当前的会话。

假如参数为false,那么在request的当前会话不存在的时候就返回null。

这样,就能够非常简单的联想到这个所谓的request的当前会话是否存在和session过期的联系,所以就能够“近似地”认为session不存在就是session过期了,那么,就能够非常简单的判断session是否过期了。

方法:

if(request.getSession(false)==null)
    System.out.println("Session has been invalidated!");
  else
    System.out.println("Session is active!");

设置session的失效时间?

a)web.xml中

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

  b)在程序中手动设置

    session.setMaxInactiveInterval(30 * 60);//设置单位为秒,设置为-1永不过期

  c)tomcat也可以修改session过期时间,在server.xml中定义context时采用如下定义:

    
<Context path="/livsorder" docBase="/home/httpd/html/livsorder"   defaultSessionTimeOut="3600" isWARExpanded="true"   isWARValidated="false" isInvokerEnabled="true"   isWorkDirPersistent="false"/>

关于判断session是否过期了的相关内容,大家都了解了吧。请继续关注本网的常见问题专栏,有更多关于session的内容,可以和大家分享。