servletcontext事件监听器---->针对applicationscope
servletcontextlistener(*)
对整个web应用的装载和卸载进行监听。
servletcontextattributelistener
对servletcontext中的信息存放、删除和替换进行监听。
servletcontext就是servlet上下文监听,在web中表示的是对启动服务和销毁服务进行监听,需要实现的接口:
servletcontextlistener接口,实现的就是对上下午进行监听:
void contextinitialized(servletcontextevent sce):启动上下文时的监听
void contextdestroyed(servletcontextevent sce):销毁上下文时进行的监听
除了对上下文的启动和销毁进行监听的之外,还可以对上下文的属性进行监听:servletcontextattributelistener接口。
void attributeadded(servletcontextattributeevent event):设置上下文属性监听
void attributeremoved(servletcontextattributeevent event):移除上下文属性的监听
void attributereplaced(servletcontextattributeevent event):修改上下文属性的监听
servletcontextattributeevent:事件,可以通过事件取得属性的内容和名称。
·取得属性名称:public java.lang.string getname()
·取得属性的值:public java.lang.object getvalue()
效果如下图:
当登录一个账号时
打开另一个浏览器,再登录一个账号
如上图,我们可以看到,程序已经完成了统计在线人数和显示人员列表的功能,那么他的实现流程是什么呢?
我们可以通过servletcontextlistener完成在线人数的统计和显示在线人数列表,首先listener和filter一样要在web.xml中进行描述。
代码如下:
为了测试这个程序,我们也必须完成用户登录功能。
数据库连接帮助类:
用户实体类:
数据库处理类:
servlet类:
监听类:
登录页面
显示在线人数和在线人员的列表界面
注销界面:
代码下载地址:http://download.csdn.net/detail/weixin_36380516/9811993