会话超时 Spring

Session Timeout Spring

我正在制作一个基于 Spring 3 和 Apache Wicket 的 Web 应用程序。当应用程序的用户单击元素时,在会话超时后,应用程序崩溃,因为 HTML 文件没有找到 Java 组件。我怎样才能防止这种情况发生?

在您 spring/wicket 应用程序之后,您有一个 Java Servlet Web 应用程序。设置超时=0,会话不会过期。

将此块包含在 web.xml 中。您也可以通过编程方式进行。

<web-app ...>
    <session-config>
        <session-timeout>0</session-timeout>
    </session-config>
</web-app>

我相信你正在寻找 ExpiredErrorPage 在下面的 yourApplication init() 方法中配置

只要会话过期,它就会重定向到 loginpage。它不会像崩溃一样显示。这样您就可以再次登录并执行您的操作。

getApplicationSettings().setPageExpiredErrorPage(LoginPage.class);

默认情况下,如果旧页面因任何原因消失,Wicket 将创建页面的新实例:https://github.com/apache/wicket/blob/38bee6e932e63fa033c2139cdfb2f82eba55fadc/wicket-core/src/main/java/org/apache/wicket/settings/PageSettings.java#L46

也许此设置 false 适合您?!