Wicket 意外会话 ID

Wicket unexpected session id

我正在使用 Wicket 开发 Web 应用程序,它在 Jetty 服务器上运行。

在特定情况下,应用程序的用户会自发地失去会话,并且在关闭浏览器之前无法再次登录。 (我已排除会话超时和故意注销)

记录会话失效和跟踪此问题原因的最佳方法是什么?

在 Jetty 端,您可以设置一个 servlet javax.servlet.http.HttpSessionListener 来记录各种 create/destroy 事件。

为此创建您自己的 class,并将其添加到您的 WEB-INF/web.xml

<web-app>
    <listener>
        <listener-class>MySessionListener</listener-class> 
    </listener>

您可以编写 WebSession 的子类并覆盖 invalidate() 方法以在失效前打印出 StackTrace。

这将有助于确定 Session 的失效是由于 Wicket 中的某些原因还是 Wicket

之外的原因