2013-02-28 95 views
2

假設,使用用戶名=「ABC」一個使用登錄,恢復先前的會話的屬性

一些數據在會話設置如下: session.setAttribute(「MYDATA」,MYDATA);

如果當前會話過期,用戶將被重定向到登錄頁面。

而現在,如果用戶再次使用相同的用戶名(「ABC」)登錄,

我們能否找回前一交易日的屬性,以便用戶可以繼續他的工作?

請建議我檢索以前會話的數據的可能解決方案。 謝謝。

回答

0

我不相信這是可能的。但是,您始終可以創建一個信號量,讓您的應用程序可以在用戶登錄時檢查該信號,並在已經存在用戶會話的情況下使會話失效。

如果您正在非集羣環境中運行,此信號可能與Java靜態變量一樣簡單,或者更好的方法是在數據庫表中設置標誌,尤其是在集羣環境中運行時。

0

不可能,當會話過期時,它包含的所有內容都已死亡。這由容器控制。

0

當會話屬性過期時,您可以將會話屬性保存到數據庫,然後在用戶再次登錄時將它們添加回新會話。