2012-11-14 34 views
1

我正在學習jsp中的會話。jsp-會話 - 如何使用舊會話(如果存在)但不創建新會話

我有一個應用程序發送登錄並傳遞給servlet。 如果它們正確的servlet創建一個新的會話併發送一個page.jsp給客戶端。 頁面檢查是否存在任何會話,如果不是不創建新會話並阻止用戶。

我要阻止的可能性來訪問這個網頁時,有任何會話, 但如果我使用:

<%@ page session=false %@>

我將失去訪問舊的會話 (如果她有)。 如何強制jsp連接到舊會話但不創建新會話?

如果我錯過了東西,我會非常感激:

  • 最佳實踐
  • 鏈接,解釋等
  • 任何建議:)
+0

???你的問題的標題確實沒有意義:不創建,如果不存在... –

+0

感謝消息:)我希望這一個是更容易理解:) – ognistysztorm

回答

1

不能創建會議。只有得到會話,並且這將返回以前創建的會話(如果存在),或者創建並返回它(如果沒有會話存在)。

即使是未登錄的用戶也可以擁有一個會話。事實上,如果他們瀏覽到沒有session=false的JSP,他們將默認有一個。認證應簡單地獲得會話,並在會話中存儲一些authenticated標誌(或userId令牌)。

如果您不希望經過身份驗證的用戶轉到登錄頁面,那麼當他們轉到此頁面時,請檢查userId令牌是否已經在會話中,並重定向到其他某個頁面。