GWT应用程序,Session不会过期 - 这是对的吗?

时间:2012-02-08 18:43:21

标签: session gwt

我正在编写我的第一个GWT应用程序,而且我正在实施会话。

目前我正在生成一个

HttpServletRequest request = getThreadLocalRequest();
HttpSession httpSession = request.getSession(true);
httpSession.setMaxInactiveInterval(1000 * 60 * 2);//2min 

然后在显示任何屏幕之前通过RPC调用服务器验证会话是否与用户相同

HttpServletRequest request = getThreadLocalRequest();
HttpSession httpSession = request.getSession(false);

if(user.getSessionId().equals(result.getSessionId()))
    //display screen

我的问题是关于setMaxInactiveInterval();非活动超时对我来说似乎不起作用 - 会话在两分钟后不会自行失效

我是以正确的方式去做的吗?感谢。

P.S。我用它作为跳跃:http://snipt.net/javagner/session-in-gwt/

2 个答案:

答案 0 :(得分:1)

通常在web.xml中有这个

  <session-config>
    <session-timeout>30</session-timeout> <!-- 30 minutes -->
  </session-config>

答案 1 :(得分:0)

httpSession.setMaxInactiveInterval(1000 * 60 * 2);//2min 

这不是2分钟,而是2000分钟。

https://docs.oracle.com/javaee/6/api/index.html?javax/servlet/http/HttpSession.html

javax.servlet.http.HttpSession.setMaxInactiveInterval(int interval)

  

指定之前客户端请求之间的时间以秒为单位   servlet容器将使此会话无效。