问答详情
源自:5-1 统计在线用户及人数

大伙讨论:本小节讲解的不足之处。

大伙谈谈本小节老师讲解的不合理之处,吐槽吐槽吧。(注:正常的学习讨论、切磋。还是很感谢老师的课)

1)很多人都提到的没有考虑并发

2)醉了,3:12前后说想通过“IP地址知道这些人都是来自哪些地方的”,然而后面的实现都是通过getId()来判断的,IP和session的id能是一回事吗!?!-_-|||

3)就算你要通过getId()来判断,也可以直接在HttpSessionListener实现类里面,通过HttpSessionEvent对象.getSession().getId()就可以了。何必大费周章在去创建ServletRequestListener实现类,然后也是getSession().getId()呢。想要获取的是session的id,然而你跑到ServletRequestListener里面去获取,同一个session如果有多次request,那么每次request都“触发”去获取session的id,难道不是重复、冗余,还复杂化?(尽管在RequestListener实现类里面有用到request.getRemoteAddr(),但仅仅是作为附带信息储存,没有作为判断)

不知道指出的不足对不对,大伙补充补充……

提问者:sprnate 2015-12-13 10:14

个回答

  • 不逃课
    2016-03-03 12:00:40

    老师演示这个例子,只是为了说明,通过session获取不到IP,只用通过request可以获得IP.所以创建了一个ServletRequestListener监听器。

  • hanhanzhu
    2015-12-27 22:25:16

    楼主厉害啊。这样的话,如何实现userList中用户的移除呢?在HttpSessionListener中获取不到用户的IP信息啊。

  • 古__月
    2015-12-27 17:12:34

    厉害呀