2011-07-29 139 views
6

我第一次使用servlet,但取得了很大進展。我的servlets運行良好。所以我決定把一個認證機制,創建一個會話,如果用戶提供正確的密碼和ID的。但會議對我來說是全新的。所以我不太遵循邏輯,但我已經開始理解。無法在java servlet中獲得會話

正如我前面提到的,我的一個servlet專門用於登錄。如果密碼正確,會話就會創建(我不會在會話中存儲任何對象/數據),並且客戶端(remoteUser)會收到密碼通知接受並創建會話。客戶端做的是在同一個應用程序中訪問其他servlet。其他servlet會檢查會話是否已創建並且有效(未超時)。爲了這個目的,在其他servlet中,我得到以下會話:

HttpSession session = req.getSession(false); //false because this is not the place to create a session. sessions should only be created in the login servlet. 

但是,這返回null。所以我試過了:

HttpSession session = req.getSession(); 

並用session.isNew()檢查;我是一個新的會議。所以我在login servlet中創建的會話不能用req.getSession()來調用;在另一個servlet中。 PS:當在登錄servlet中創建會話時:session.setMaxInactiveInterval(300); // 5分鐘

非常感謝您的回覆!

+2

您的客戶是否支持cookies? – Bozho

+0

是的,我在同一臺機器上使用谷歌瀏覽器來打開servlet。 – Genom

+0

你的問題是什麼? – EJP

回答