美文网首页
JAVA怎么设定SESSION超时?

JAVA怎么设定SESSION超时?

作者: caobug | 来源:发表于2016-06-10 01:54 被阅读298次

    介绍

    本教程主要介绍如何设定基于 Servlet web 应用的 Session 超时。

    在 web.xml 中配置全局 Session 超时

    所有的http Sessions可以配置在 WEB 应用的 web.xml 中:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app>
    <session-config>
    <session-timeout>10</session-timeout>
    </session-config>
    </web-app>
    需要注意的是,这里的单位是分钟,而不是秒。有趣的是,在未来可能会用注解来代替 Servlet 3.0+ XML 配置。另外,目前暂时不支持通过编程的方式来设定全局 Session 超时,不过 Java jira 中有存在这样的开放问题,开发期还待定。

    单个 Session 超时

    通过 Java API javax.servlet.http.HttpSession 只可以设定单个 Session 超时:
    HttpSession session = request.getSession();
    session.setMaxInactiveInterval(10*60);

    需要注意的是<session-config>单位是分钟,这里的setMaxInactiveInterval单位是秒。

    Tomcat Session 超时

    所有 Tomcat 服务默认提供了全局 web.xml 配置文件,它将应用于该服务下的所用应用。路径位于位于:$tomcat_home/conf/web.xm
    默认情况下,它同<session-timeout>一样都配置了30分钟的超时。
    单独部署的应用中的 web.xml <session-timeout>设定将优先于位于$tomcat_home/conf/web.xm的全局配置。
    需要注意的是,Jetty 的路径位于 $jetty_home/etc/webdefault.xml

    总结

    该教程解决了JAVA怎么设定SESSION超时的问题。我们还举例说明了这些配置的优先级别,无论是 Jetty 还是 Tomcat。希望可以帮到你^_^

    相关文章

      网友评论

          本文标题:JAVA怎么设定SESSION超时?

          本文链接:https://www.haomeiwen.com/subject/qvlsdttx.html