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

问题描述 投票:1回答:2

我正在编写我的第一个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();非活动超时似乎对我来说根本不起作用 - 会话在两分钟后自身不会过期

我正确的方式吗?谢谢。

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

session gwt
2个回答
1
投票

通常在web.xml中有这个

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

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容器使此会话失效之前的客户端请求之间的时间(以秒为单位)。

© www.soinside.com 2019 - 2024. All rights reserved.