关于首先SCWCD问题

时间:2011-07-30 12:40:52

标签: java session servlets

以下是第5章的第15个问题:

  

当会话即将超时时,可以使用哪种方法让容器通知您的应用程序? (选择所有适用的选项。)

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

正确的答案是A和C.选项E的解释是“选项E:删除属性与会话超时紧密相关”

现在我的问题是这个..当我试图使无效或设置0秒的到期时间时,选项A C E被触发。所以要求所有WCD认证,你们能解释为什么选项E不正确吗?

1 个答案:

答案 0 :(得分:0)

我认为他们的问题措辞不合理。您可以“要求容器在会话即将超时时通知您的应用程序”来自任何这些地方,或者没有任何地方。

更好的措辞可能是:

  

如果您想收到通知,应该实施哪些接口   会话何时即将超时?

但无论如何,JavaDoc总是一个好的起点。您不会使用attributeRemoved()来跟踪会话超时,因为会话可以具有任意数量的属性,任何一个属性都可以随时删除,无论会话是否过期。因此,删除属性这一事实并不是会话超时的可靠指标。正如官方解释所说,“删除属性与会话超时没有紧密关联”。我认为它甚至不会松散与会话超时相关联。

免责声明:我不是任何一种认证。我只是以此为生。