我使用(JSF 和 JPA)制作了一个 Web 应用程序,然后将其部署到 Glassfish 应用程序服务器。
它工作正常,但是当我让应用程序空闲一段时间,可能是一小时,然后尝试使用应用程序时,它会抛出异常说(请求的视图无法恢复)。
在 Glassfish 中重新加载我的应用程序时,它又可以正常工作了,我该如何解决这个问题?
我使用(JSF 和 JPA)制作了一个 Web 应用程序,然后将其部署到 Glassfish 应用程序服务器。
它工作正常,但是当我让应用程序空闲一段时间,可能是一小时,然后尝试使用应用程序时,它会抛出异常说(请求的视图无法恢复)。
在 Glassfish 中重新加载我的应用程序时,它又可以正常工作了,我该如何解决这个问题?
这是一个 ViewExpiredException,当状态保存方法设置为 server(default) 并且您向会话中不再可用的视图发出 post 请求时会触发该异常。
解决此问题的一种方法是在引发此类异常时将用户重定向到特定页面。您可以在 web.xml 中为此配置错误页面。
<error-page>
<exception-type>javax.faces.application.ViewExpiredException</exception-type>
<location>/errorpage.xhtml</location>
</error-page>