模仿一个B站左下角的人数在线统计: 1.实现一个Session监听器的接口,里面重写了俩个方法,一个是获取Session的方法,一个是销毁Session的方法。
2.用监听器带的对象se获取Session对象并且将获取的对象提高作用域至域对象(ServletContext上下文对象,最顶级对象)。
这边作为扩展我们来回顾一些Servlet中这个最高作用域ServletContext。 是一个域对象, 域对象是服务器在内存上创建的存储空间,用于在不同动态资源(servlet)之间传递与共享数据。 servletContext存储数据特点,全局共享,里面的数据所有动态资源都可以写入和获取 服务器启动的时候创建,服务器关闭的时候销毁,因为这是全局应用程序对象,全局共享对象。 所以因为不属于任何一个servlet,但是所有的servlet都可以通过servletContext读取这个数据.(重要)
3.简洁逻辑概述 4.我们需要取XML中配置监听
因为设置的是Session监听所以用户访问的时候就已经触发了监听。
5.重要一步需要给Index.jsp中添加JSP语句 (1)用图片可以更详细的列出 6.打开浏览器 结果发现显示的是俩个人,那是因为我们使用Tomcat创建的时候会自动生成Session。
我们这边可以加代码手动测一下 到底加了多少的Session 通过Servlet控制台我们可以看见 tomcat再创建的时候自动生成了一个session
解决办法 点击上面的刷新服务器 选择上面的Redplay即可。跑完刷新页面就显示一个人了。
7.一个bug 其实换个服务器就可以解决
8.结尾处送上所有源码
jsp文件: