2011-07-30 55 views
0

這裏的第5章第15問題:可以用來向容器每當會話即將超時通知應用程序有關負責人首先SCWCD問題

哪種方法(S)? (選擇所有適用)。

 
A. HttpSessionListener sessionDestroyed 
B. HttpSessionBindingListener valueBound 
C. HttpSessionBindingListener valueUnbound 
D. HttpSessionBindingEvent sessionDestroyed 
E. HttpSessionAttributeListener attributeRemoved 
F. HttpSessionActivationListener sessionWillPassivate 

正確答案是A和C.與選項E中的解釋是「選項E:刪除與會話超時心不是緊密相關的屬性」

現在我的問題是這個..當我試圖無效或設置0秒的失效時間時,選項ACE被觸發。所以調用所有WCD認證,你們能解釋爲什麼選項E不正確嗎?

回答

0

我認爲他們的問題措辭不佳。您可以可以「請求容器在任何會話即將超時時通知您的應用程序」從任何這些地方或任何地方都不會。

一個更好的措辭可能是:

哪個接口(S)應,如果你希望收到 每當會話即將超時你實現?

但無論如何,JavaDoc始終是一個很好的開始。您不會使用attributeRemoved()來跟蹤會話超時,因爲會話可以具有任意數量的屬性,無論會話是否過期,任何時候都可以刪除任意一個屬性。因此,屬性已被刪除的事實不是會話超時的可靠指示器。正如官方解釋所說,「刪除一個屬性與會話超時並不緊密相關」。我會爭辯說,它甚至不是鬆散與會話超時相關聯。

聲明:我沒有任何一種認證。我只是爲了謀生而做這種事。