为了账号安全,请及时绑定邮箱和手机立即绑定

JAVA Web开发技术应用——监听器

难度初级
时长 1小时30分
学习人数
综合评分9.70
269人评价 查看评价
9.8 内容实用
9.7 简洁易懂
9.6 逻辑清晰
关于添加用户时为什么是在requestInitialized而不是sessionCreate中这个问题:因为request才能获取到ip,设置用户ip;在requestInitialized进行了sessionId的判断,所以每个session也只添加了一次
第一遍听,确实比较难懂。首先,你要明白几个知识点,就好懂多了:

目的:获取在线(用户数量)+打印(用户列表)。用户列表需包含三个信息(1、sessionId 2、ip 3、firstTime)。

原理:服务器会为每个用户创建一个session,而一个用户在这个session生命周期中,可以多次访问浏览器(即,多个request)。

注意事项一:用户列表中的ip只能从request中获取,所以添加用户信息需要在request的init方法中操作

注意事项二:如原理所说,只有当session销毁时,才能说明用户已经下线。所以需要在session的destroy方法中减去用户。
添加用户时为什么是在requestInitialized而不是sessionCreate中?一个用户不是对应一个session吗?新手勿喷
第一遍听起来是有点懵,不过第二遍把速度放慢认真听也不是很难。
说下,一,在MyServletRequestListener中如果能够通过sessionId获取User对象时才需要重新将userList放入application,避免数据未改动做不必要的操作。二,您在此方法中将用户从userList中剔除,却没有重新放入application中,这是一个疏忽;其次,sessionDestroyed方法是在session销毁时调用,关闭页面时并不会导致session被销毁,所以sessionDestroyed方法貌似不会被调用,即使用户关闭页面,仍不会改变application中的数据。。。
学完了,讲的很好啊,一看就懂!
servletcontextevent.getServletContext() 老师说获取当前应用的什么对象?(2分50处)
老师讲解十分详细,思路清晰,代码解读很好,行云流水!32个赞
感谢老师!老师辛苦了!
good很好
全是线程安全问题,谁要是把这个弄到生产上,可就坑了。
mark 谢谢老师
课程须知
亲,要学习本门课程需要对JSP和Servlet有所了解呦。如未学习上述知识,可移步网站相关课程。
老师告诉你能学到什么?
通过对本课程的学习,可以掌握监听器的基础知识,深入了解监听器的处理机制和分类方式,并可以让自己更快的动手编写监听器的例子。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消