wy19280469 2009-04-25 17:16
浏览 204
已采纳

实现httpSessionBingdingListener监听的一个简单问题

[code="java"]在servlet里有如下一句话。
HttpSession session = request.getSession();

session.setMaxInactiveInterval(5);
session.setAttribute("" + session.getId() + "", new OnLineCount());// 目的:触发监听器 5秒后销毁

问题一:第三句 session.setAttribute("");我没理解, 我就只把要保存的值放到域中,而且还是放在第二个参数后 就是new onLineCount()的位置.

现在这句话的含义是什么呢??

我在触发HttpSessionListener监听器的时候 sessionDestroyed()中
问题二:arg0.getSession().removeAttribute(arg0.getSession().getId()); //删除sessionID
有这句话 要删除 sessionID

成功了 但是我不是太理解 能帮我解答下 (问题一)的含义 以及 (问题二) 是如何获得sessionID的么?[/code]

  • 写回答

2条回答 默认 最新

  • zhoujuan520 2009-04-25 20:06
    关注

    [code="java"]session.setAttribute("" + session.getId() + "", new OnLineCount());[/code]

    就是把值保存到session范围中,key是当前session的id,值是你new的 OnlineCount()对象


    [quote]arg0.getSession().removeAttribute(arg0.getSession().getId());
    (问题二) 是如何获得sessionID的么?[/quote]

    arg0是sessionDestroyed这个方法的第一个参数,其实就是一个HttpSevletRequest对象,然后通过这个对象获得当前的Session,再通过Session获得session的id,这样就可以把先前已当前session 的id为key的对象从session会话中移除.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?