java网站中session 有默认的过期时间吗?

java网站中session 有默认的过期时间吗?,第1张

程序中session都有一个默认的过期时间,其中tomcat中的默认时间为30分钟,根据需要我们可以去手动设置session的过期时间,以下是设置session的过期时间的三个方法:\x0d\x0a\x0d\x0a1.在tomcat-->conf-->conf/web.xm中的中设置:\x0d\x0a\x0d\x0a \x0d\x0a30\x0d\x0a\x0d\x0a\x0d\x0a2.在项目的web.xml中定义:\x0d\x0a\x0d\x0a \x0d\x0a 20 \x0d\x0a \x0d\x0a\x0d\x0a 注:20则设置过期时间为20分钟 测试通过\x0d\x0a\x0d\x0a3.在程序中定义:\x0d\x0a\x0d\x0asession.setMaxInactiveInterval(30*60);\x0d\x0a\x0d\x0a 设置单位为秒,设置为-1永不过期

由于session值之前没有设置 以至于刚登录的网站 不到一分钟就超时了 总结了一下 原来是session过期的原因 以下是设置session时间的 个方法

在tomcat——>conf——>servler xml文件中定义

<Context path= /test docBase= /test defaultSessionTimeOut= isWARExpanded= true isWARValidated= false isInvokerEnabled= true isWorkDirPersistent= false />defaultSessionTimeOut=

在web xml中定义

<session config><session timeout></session timeout></session config>

在程序中定义

session setMaxInactiveInterval( * )

设置单位为秒 设置为 永不过期

lishixinzhi/Article/program/Java/hx/201311/26519

你可以试试这么做

web.xml

<listener>

<listener-class>

com.listener.SessionListener

</listener-class>

</listener>

<session-config>

<session-timeout>1</session-timeout>

</session-config>

java

public class SessionListener 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

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11122705.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存