2013-06-28 108 views
0

如何在一段時間後自動重定向到登錄頁面?一段時間後自動重定向到登錄頁面

如果當前頁面在Java/JSP中空閒10分鐘,我有要求重定向到登錄頁面。

我試着用<meta http-equiv="refresh" content="120;url=./login.html">標籤。這隻適用於當我點擊任何鏈接,但2分鐘後(120secs)不自動。

誰能告訴我如何自動重定向到登錄頁面?

回答

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> <頭> ...這裏...... < /頭「。 ..)

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); 

,您可以用combime:

response.sendRedirect("./login.html"); 

的另一種方法做事情是一個過濾器,篩選是一項保護您資源的技術;它只是一個servlet,它覆蓋了doFilter方法。因此,在doFilter之內,您可以設置會話超時和重定向,使會話無效等。檢查此tuto,它確實有一個「」Servlet和JSP過濾器「部分,您可以享受。

祝你好運。