0

我们如何在一段时间后自动重定向到登录页面?

如果当前页面在 Java/JSP 中空闲 10 分钟,我需要重定向到登录页面。

我尝试使用<meta http-equiv="refresh" content="120;url=./login.html">标签。这仅在我单击任何链接时才有效,但不会在 2 分钟(120 秒)后自动生效。

谁能告诉我如何自动重定向到登录页面?

4

2 回答 2

0

使用 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 过滤器”部分您可以享受。

祝你好运。

于 2013-06-28T20:25:45.080 回答
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 中添加此代码(<html><head>...这里...</head>...)

于 2013-06-28T20:17:27.713 回答