2010-08-10 35 views
0

我們有一個網站,用戶可以通過導航欄獲得導航搜索結果。如何判斷陳舊的會話與沒有Java的會話

當用戶離開午餐或其他任何時間,並且會話超時時,點擊屏幕上仍然顯示的導航中的下一個將顯示下一頁,但是由於它現在存儲在現在陳舊的會議。這迷茫的人無止境。

我們提出的解決方案是創建一個新的會話,將用戶返回到結果的開始處並向他們顯示一條消息,表明他們沒有會話訪問我們,並且我們已經將它們發回到開始。

現在我們收到了來自外部鏈接直接來自頁面的人的投訴。由於我們目前沒有看到過時的會話和不存在的會話之間的區別,因此我們向沒有(有效)會話的每個人顯示消息。

我們如何能夠可靠地檢測到從未參加過會議的訪客/有意刪除了他們的會話cookie,而不是訪問者離開的時間並在會話超時後回來?

感謝

回答

0

如果你正在做的會話驗證在你的代碼,然後有人誰是未來直接通過鏈接到您的網頁,不會有會話屬性的請求頭或任何你正在存儲會話參數。如果沒有完成,那麼對於所有創建與服務器的會話的客戶端,發送一個參數。讓這個參數流過每個請求。如果有人來自陳舊的會議或根本沒有任何會話,這種參數的存在將確保。

從HttpServletRequest類中檢查getHeader方法。這將幫助您檢查給定的標題是否存在。

+0

我們正在調查此問題。會回到你身邊。謝謝 – mplungjan 2010-08-12 05:27:13

+0

我們會看看頭部是否有會話ID - 如果有,它是無效的,我們會顯示消息。 – mplungjan 2010-08-12 12:11:33