0

在我的 Web 项目中,大多数页面都使用 View Scoped 托管 bean。它工作得很好,但有时,我注意到如果我离开页面一段时间,比如 10 分钟,当我返回页面时,页面中的所有内容都停止工作,并且服务器中没有显示控制台错误. 我认为这是由于生活的一种观点,但没有发现任何关于它的信息。我在哪里可以找到有关它的信息?有没有办法配置视图的生命周期?

我正在使用 apache tomcat 7。下面是我的 web.xml 配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>AtualyGestao</display-name>
<welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
    <welcome-file>index.jsf</welcome-file>
</welcome-file-list>
<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<context-param>
    <param-name>primefaces.THEME</param-name>
    <param-value>home</param-value>
</context-param>

4

1 回答 1

1

如果您在浏览器的开发人员工具集中关注了 ajax 请求的 HTTP 响应,您应该会看到它(在 Chrome/Firebug/IE9 中按 F12):

在此处输入图像描述

确实,会话已过期。关于为什么这是 JSF 的问题的详细解释可以在这个答案中找到:javax.faces.application.ViewExpiredException: View could not be restore

默认情况下,JSF ajax 请求在出现异常时没有任何形式的反馈。如何解决此问题已在此处得到解答:Session timeout and ViewExpiredException handling on JSF/PrimeFaces ajax request

于 2013-05-21T17:04:23.903 回答