2011-08-02 75 views
0

目前我有一個名爲MySessionData的會話作用域對象。本來註銷的時候我剛打電話在Guice Servlet中清除會話作用域對象

getThreadLocalRequest().getSession().invalidate(); 

的問題是,現在我們有多個會話範圍內的對象和註銷只有真正需要ONY(MySessionData)被清除。有人知道在Guice中清除單個Session範圍對象的方法嗎?如果這是使用傳統的會話對象,我只是將會話映射中的鍵值對設置爲null。

回答

1

我通常使用guice會話對象作爲持有者。如果你像這樣實現MySessionData,你只需要定義一個clear()方法來刪除或清除所有的holded對象。

如果還不夠,仍然可以使會話無效。如果您需要在會話中保留對此失效的引用,則可以使用ThreadLocal變量並使用ServletFilter對其進行設置。