我是一名有用的助手,可以为您翻译文本。
我有一个需求,用户在认证进入会话后,如果10分钟没有任何操作,则会话超时。一旦会话超时,来自已过期会话的任何进一步请求都将被重定向到超时页面。我在这方面进行了研究,并得出了两种不同的方法。
方法 #1:
在 web.xml
中,我有以下代码...
<session-config>
<session-timeout>10</session-timeout>
</session-config>
方法 #2:
我在已认证页面内放置了以下代码...
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0); // Proxies.
request.getSession().setMaxInactiveInterval(600);
现在我的问题是:
这两种方法有什么区别?哪一个更好或推荐?
同时,当使用第二种方法时,如果最终用户从经过身份验证的页面导航离开但未注销,则会话是否仍然在10分钟内无操作后超时?