2011-04-03 83 views
2

是什麼觸發Spring的會話Bean存在於容器中,以及將其刪除?基本上,我想了解Web Flow對會話Bean的影響。Spring 3.5會話Bean生命週期

+0

沒有在代碼庫中的HttpSessionListener,所以我刪除了錯誤的答案。 – 2011-04-03 11:10:17

回答

1

會話bean是在您首次嘗試從視圖訪問它時創建的,或者您想要訪問依賴它的bean。它存儲在HTTP會話中,以便在會話過期或明確銷燬時將其刪除 - 此部分由servlet容器而不是spring來管理。

+0

嗯..要明確銷燬Spring 3.5中的會話,我只是調用註釋爲@PreDestroy的方法,並且Servlet容器將連續刪除我的會話? – user241178 2011-04-04 19:13:45

+0

要銷燬HTTP會話,您需要使用servlet API,而不是Spring API。我相信你可以這樣做: HttpSession session = request.getSession(false); if(session!= null)session.invalidate(); } 通常你不會那樣手動。我建議使用Spring安全性,您可以配置註銷過濾器,以便在用戶註銷時執行此操作。會話過期時也會自動發生。 – mrembisz 2011-04-05 09:42:12