我们如何在一段时间后自动重定向到登录页面?
如果当前页面在 Java/JSP 中空闲 10 分钟,我需要重定向到登录页面。
我尝试使用<meta http-equiv="refresh" content="120;url=./login.html">
标签。这仅在我单击任何链接时才有效,但不会在 2 分钟(120 秒)后自动生效。
谁能告诉我如何自动重定向到登录页面?
使用 servlet,你可以试试这个:
response.setHeader("Refresh","120;url=./login.html");
但我不认为那是你想要的。事实上,为了您的需要,您需要的不仅仅是重定向,您还需要:
至于 servlet 的失效:
public LogoutServlet extends HttpServlet {
@Override
public void doGet(...) {
request.getSession().invalidate();
}
}
我无耻地从这里复制的代码,查看线程,那里很少有好的信息。
至于会话超时(检查这个):
HttpSession session = request.getSession();
session.setMaxInactiveInterval(2*60);
您可以将其与:
response.sendRedirect("./login.html");
另一种做事方式是过滤器,过滤器是一种保护资源的技术;它只是一个您覆盖其方法的servlet doFilter
。因此,在其中doFilter
,您可以设置会话超时和重定向、使会话无效等。检查这个教程,它确实有一个“ Servlet 和 JSP 过滤器”部分您可以享受。
祝你好运。
是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 中添加此代码(<html><head>...这里...</head>...)