平时我们在浏览某个网页会发现网页的某个角落显示出当前在线人数为某某某,其实这个实现并不难,下面我讲为大家讲解一下实现的原理以及如何实现。
监听器中分为三类,HttpSessionListener,HttpSessionBindingListener,HttpSessionAttributeListener下面我们以HttpSessionAttributeListener接口做测试。
1:原理
HttpSessionAttributeListener接口进行监听原理从该接口名称中我们就不难看出我们要实现的监听器和session相关,当我们在登录某个网站时网站会把我们的登录信息保存到session中,比如session.Attribute("属性",值),当利用session设置该属性的时候,会出发监听器的某些事件,这里大家不要认为监听器是在该处被处被出发调用,其实在我们启动服务器的时候监听器就已经加载上去。然后才是当我们设置属性的时候会出发调用监听器中的某一个方法,下面会讲解到,然后当我们退出某个网站的时候这也会出发监听器调用某个方法进行session的销毁并进行相应的操作!具体原理就是这样。
2:实现
1)首先注册监听器配置web.xml,如下:
打开web.xml,进行一下配置,<listener><listener-class>包名.类名<listener-class></listener>,你可以实现HttpSessionListener接口并实现其中的方法查看验证,查看监听器配置是否正确
package com.practice;
importjavax.servlet.ServletContext;
importjavax.servlet.http.HttpSession;
importjavax.servlet.http.HttpSessionListener;
importjavax.servlet.http.HttpSessionEvent;
publicclassOnlineUserListener implementsHttpSessionListener {
System.out.println("session创建"