2014-02-10 98 views
1

當前我有一個帶登錄憑據的網頁,當提供相應的網頁時,用戶可以登錄。現在,在此登錄之後(通過ajax調用Servlet進行驗證),用戶被重定向到不同的頁面(使用不同的URL)。我如何創建/管理會話?如果用戶關閉的標籤/瀏覽器窗口Web應用程序中的HTTP會話管理(Ajax/Servlet)

  1. ,用戶應該進行註銷:

    我需要下列功能。

  2. 此外,如果用戶長時間(約15分鐘)沒有產生任何活動,用戶應自動註銷。

注意:我不想依賴cookie。有沒有其他方法?

我也需要重複輪詢到服務器? (因此,如果服務器在一段時間後沒有收到請求,會話將失效...)

回答

0
  1. 你真的不能這麼做。
  2. 見的HttpSession http://docs.oracle.com/javaee/5/api/javax/servlet的文檔有兩種方法,你會想知道有關這一點:

    session.getMaxInactiveInterval()返回最大間隔時間,以秒servlet容器將保持該會話開放之間的客戶端訪問。

    setMaxInactiveInterval(int interval)指定servlet容器使該會話失效之前,客戶端請求之間的時間(以秒爲單位)。

並創建一個會話,當然,很簡單,只要到session.setAttribute("somename", variable)呼叫緊接着setMaxInactiveInterval,如果你不喜歡默認的會話長度。

+0

您最後的方法調用不會創建HttpSession,它只是設置一個屬性。 –

+0

而從功能上講,兩者之間的區別是什麼?會話可以在您打開頁面時自動創建,也可以在您首次對會話對象執行某些操作時創建,對嗎? – developerwjk

相關問題