我有一个复杂形式的Web应用程序:
这一切都是在Wicket无国籍地完成的。我在想我是怎么做到的。它感觉“不对”。转换为数组并重定向“工作”但必须有更好的方法。
更新
为什么表单是无状态的:
有问题的Web应用程序与其他2个Web应用程序共享服务器。在部署此应用程序的新版本后,我遇到了OutOfMemoryException
s。当我检查Tomcat Manager应用程序 BEFORE 我将表单转换为无状态时,我会经常看到~150或“活动会话”。现在表单/结果页面是无状态的,我看到5个“活动会话”。这减少了我的内存使用量。(我认为)。我仍然有一个唠叨的疑问:https://stackoverflow.com/questions/16049219/how-to-handle-a-hibernate-bi-directional-mapping-for-a-set-properly
建议:
我开始想知道是否应该删除“结果”页面挂载点并将其转换为面板。这样我就可以直接将复杂的对象传递给它,并在整页刷新中交换面板。这在无状态页面中是否可能?
POST
另外我不相信wicket原生支持POST重定向:How to use post method in wicket
答案 0 :(得分:1)
您是否密切关注OutOfMemoryError
?通常,在重新部署应用程序时,您会耗尽permgen空间,而不是用户内存。 Permgen空间泄漏很常见,很难去除。可能这与Wicket无关,但更多的是仍然加载的类。您应该尝试使用Java 8(没有永久生成)或更新版本的Tomcat(和Wicket),因为在较新版本的框架和容器中经常会解决类加载器泄漏问题。