我们如何在一段时间后自动重定向到登录页面?
如果当前页面在Java / JSP中空闲10分钟,我需要重定向到登录页面。
我尝试使用<meta http-equiv="refresh" content="120;url=./login.html">
标记。这仅在我点击任何链接时有效,但在2分钟(120秒)后不会自动。
有人能告诉我如何自动重定向到登录页面吗?
答案 0 :(得分:0)
是Java吗?不......但你必须使用PHP或JavaScript
JavaScript的:
<script>
// setTimeout("window.location.href='login.html';",time);
//example:
setTimeout("window.location.href='login.html';",120); // after 2 minutes
</script>
在HTML.head中添加此代码(&lt; html&gt;&lt; head&gt; ... here ...&lt; / head&gt; ...)
答案 1 :(得分:0)
使用servlet,您可以尝试:
response.setHeader("Refresh","120;url=./login.html");
但我认为这不是你想要的。事实上,根据您的需求,您需要的不仅仅是重定向,还需要:
至于来自servlet的 失效 :
public LogoutServlet extends HttpServlet {
@Override
public void doGet(...) {
request.getSession().invalidate();
}
}
我无耻地从here复制的代码,查看帖子,那里的信息很少。
至于 会话超时 (选中this):
HttpSession session = request.getSession();
session.setMaxInactiveInterval(2*60);
你可以与之合作:
response.sendRedirect("./login.html");
另一种做事方式是过滤器, 过滤 是一种保护您的资源的技术;它只是一个覆盖doFilter
方法的servlet。因此,在doFilter
内,您可以设置会话超时和重定向,使会话无效等。检查此tuto,它确实有一个“ Servlet和JSP过滤器< / em> “您可以享受的部分。