一段时间后自动重定向到登录页面

时间:2013-06-28 19:19:25

标签: java jsp redirect

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

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

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

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

2 个答案:

答案 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> “您可以享受的部分。

祝你好运。