【发布时间】:2013-10-18 14:01:28
【问题描述】:
我刚刚尝试在我的测试网络应用程序中添加会话侦听器 HttpSessionBindingListener 和 HttpSessionAttributeListener ; 他们都实现到我的测试对象中:
public class MySessionListener implements HttpSessionBindingListener,HttpSessionAttributeListener
{
//implemented methods...
}
事情是……
我尝试了类似的代码
session.setAttribute("name",new TestValue());
因此,我希望像 valueBound(...) 一样调用 HttpSessionBindingListener 事件,但我只将 HttpSessionAttributeListener 称为 attributeAdded(...) :(
此外,关于valueUnbound(...) 方法的态度与我提到的完全一样,因为我使用类似的代码
session.removeAttribute("name");
...但我得到的都是一样的 attributeRemoved(...) 只被调用:S
我想改用putValue() 方法,但现在我正在观看 HttpSession 文档,上面写着“不推荐使用 putValue。从版本 2.2 开始,此方法已替换为 setAttribute(java.lang.String, java.lang.对象)”
所以我不明白为什么 valueBound(...) 或 valueUnbound(...) 不调用以及如何调用它们?
谢谢
【问题讨论】:
标签: jakarta-ee servlets httpsession