我正在学习 j2ee,并从一个简单的登录和注销应用程序开始。我想在会话超时时优雅地处理 javax.faces.application.ViewExpiredException。看了几篇文章,我尝试使用下面的 web.xml 来处理它。
<error-page>
<exception-type>javax.faces.application.ViewExpiredException</exception-type>
<location>/index.xhtml</location>
</error-page>
但是,这仍然会导致后端出现相同的异常。以下是我为重现问题而重复的步骤:
- 从 index.xhtml 登录。这使用户使用 ah:commandbutton 登录到 welcome.xhtml 以进行注销
- 让会话过期
- 单击注销按钮。如果会话已过期,则应将用户重定向到 index.xhtml
关于我缺少什么的任何想法?根据我对许多帖子的阅读,这似乎是正确的方法。