当用户在Java中不再活动时,我们如何自动使会话失效?

var*_*run 2 java web-applications java-ee web

请问有什么可以告诉我,当用户在Java上的用户不再活动超过15分钟时,我们如何使用户的会话无效?

Nir*_*ati 8

  1. 在web.xml中写下面的代码

    <!-- Session Configuration -->
    <session-config>
            <session-timeout>15</session-timeout>
    </session-config>
    
    Run Code Online (Sandbox Code Playgroud)

    通过在Web配置文件中提供会话超时,您可以根据需要保持会话超时

  2. 您可以为特定会话手动指定"秒"的超时值.

     HttpSession session = request.getSession();
       session.setMaxInactiveInterval(15*60);
    
    Run Code Online (Sandbox Code Playgroud)

    上述设置仅适用于调用"setMaxInactiveInterval()"方法的会话,如果客户端在15分钟后未发出任何请求,则会被容器终止.


Spa*_*kOn 6

2种方法:

  1. 使用请求范围获取会话对象

    HttpSession session = request.getSession(); 然后 session.setMaxInactiveInterval(int interval)

  2. 第二种方法是在部署描述符(web.xml)中指定它

    <session-config>
    <session-timeout>15</session-timeout>
    </session-config>
    
    Run Code Online (Sandbox Code Playgroud)

    它们之间的区别: web.xml中的设置是全局的,它适用于给定上下文的所有会话.以编程方式,您可以为特定会话更改此设置.