我对 JSF 很陌生,遇到了一个有趣的问题。我有一个 Web 应用程序,指定了会话超时,即使我执行操作,会话也会过期。据我所知,每个新请求都会重新启动超时计数器,但这并没有发生。另外,在开发过程中我注意到,在超时(重定向到登录页面)之后,如果我重新加载页面,会话仍然有效。相同的会话 ID,计数器仍在运行...我不知道出了什么问题,我正在使用 Glassfish 和 PrimeFaces。
我搜索了很多,甚至试图捕捉 ViewExpiredException,但没有运气。重定向是使用
<meta http-equiv="refresh" content="#{session.maxInactiveInterval};url=login.jsf?reason=expired>
方法。也许我在 web.xml 中遗漏了一些明显的东西,我没有想法。
请给我一些建议,非常感谢!