Tomcat6环境里面Servlet如何设置Session Timeout(会话的过期时间)?

时间:2021-02-20 17:10:49


解答

在Tomcat6中,有3种方法可以设置Servlet的session的过期时间。

方法一:

在Tomcat目录下的conf/web.xml文件里面,找到“<session-config>”下的“<session-timeout>”,修改该值就可以了(单位:分钟)。

<session-config>

    <session-timeout>20</session-timeout>

</session-config>


方法二:

修改项目下的WEB-INF/web.xml文件如下(单位:分钟)

<web-app>

    ...

    <session-config>

        <session-timeout>20</session-timeout>

    </session-config>

</web-app>


方法三,在Servlet里面获取HttpServletSession的实例,并且用“setMaxInactiveInterval()”方法来设置(单位:秒)

session.setMaxInactiveInterval(5); // 设置session的有效时间为5s

网上有很多教程说修改conf/server.xml文件里面的“”的属性“defaultSessionTimeOut”的值可以设置session的过期时间,但是实际上Tomcat6已经没有“defaultSessionTimeOut”这个属性了,所以以下方法是错误的。

<Context path="/test" docBase="/test"

        defaultSessionTimeOut="3600" isWARExpanded="true"

        isWARValidated="false" isInvokerEnabled="true"

        isWorkDirPersistent="false"/>