最近Wicket把我放在Session的另一个问题。在正常的Web应用程序中,我们所做的只是在web中声明session-timeout。 XML和它对我们很好。但是在wicket中指定web.xml中的会话超时不再工作。但是,我需要会话超时才能处理我的应用程序。此外,我无法为每个班级实施Ajax行为或Ajax计时器来检查会话超时。这就是为什么我需要一些时间来实施会议时间,以便我的计划能够发挥作用。任何帮助表示赞赏。与Wicket会话超时
我的检票口版本是6.3.0。
最近Wicket把我放在Session的另一个问题。在正常的Web应用程序中,我们所做的只是在web中声明session-timeout。 XML和它对我们很好。但是在wicket中指定web.xml中的会话超时不再工作。但是,我需要会话超时才能处理我的应用程序。此外,我无法为每个班级实施Ajax行为或Ajax计时器来检查会话超时。这就是为什么我需要一些时间来实施会议时间,以便我的计划能够发挥作用。任何帮助表示赞赏。与Wicket会话超时
我的检票口版本是6.3.0。
Wicket根本不管理会话持续时间。我认为你错误地配置了你的servlet容器。尝试用一个空的Wicket项目来验证我说的话。
如果您需要处理会话超时,您可以在Application
init
方法设置处理程序:
getApplicationSettings().setPageExpiredErrorPage(MyExpiredPage.class);
更多信息here。
那么,如果你想这样做编程...
这是我如何做它用Wicket 1.5.7
(大同检票口)和servlet-api
。我将这段代码放在我的应用程序的基页面类中,所有页面都在其中扩展。
int sessionTimeout = // session timeout
Request request = RequestCycle.get().getRequest();
if(request instanceof WebRequest) {
ServletWebRequest wr = (ServletWebRequest) request;
HttpSession session = wr.getContainerRequest().getSession();
if(session != null) {
session.setMaxInactiveInterval(sessionTimeout);
}
}
我用在web.xml会话超时和'setMaxInactiveInterval'(用户配置的持续时间)使用Wicket 1.4以来(至1.5.x版)没有任何问题。你使用什么版本? – 2013-04-28 19:11:29
我的检票口版本是6.3.0 – Souvik 2013-04-28 19:17:16