【发布时间】:2014-04-18 07:10:06
【问题描述】:
识别会话超时并重定向它的步骤是什么,我尝试在 web.xml 中将会话超时设置为 1 分钟,这是否会使会话超时?
用于在过滤器中重定向:
if (request.getRequestedSessionId() != null && !request.isRequestedSessionIdValid())
response.sendRedirect(request.getContextPath() + "/login.html");
return;
}
else {
response.setHeader("Cache-Control", "no-cache, no-store, must- revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0);
filterChain.doFilter(servletRequest, servletResponse);
}
但它没有重定向到登录页面,我在这里缺少什么?
需要进一步澄清的是:web.xml 中的 url-pattern 标记是否应该具有重定向页面地址?
<filter-mapping>
<filter-name>SessionTimeoutCookieFilter</filter-name>
<url-pattern>login.html</url-pattern>
</filter-mapping>
请对此提出任何建议....
【问题讨论】:
-
这取决于你的应用服务器。如果您使用的是 jboss [这应该对您有所帮助][1]。 [1]:stackoverflow.com/questions/3197438/jboss-session-timeout
标签: java session servlets web.xml