(1)创建一个监听器实现类
要大致统计一个网站的在线人数,首先,可以通过ServletContextListener监听,当Web应用上下文启动时,在ServletContext中添加一个List,用来准备存放在线的用户名;然后,可以通过HttpSessionAttributeListener监听,当用户登录成功把用户名设置到Session中时同时将用户名存放到ServletContext中的List列表中;最后通过HttpSessionListener监听,当用户注销会话时将用户名从应用上下文范围中的List列表中删除。
所以,编写OnLineListener类实现ServletContextListener、HttpSessionAttributeListener、HttpSessionListener接口,具体代码如下:
(2)在web.xml中注册监听器
监听器实现好后,还需要在web.xml文件中进行注册才能起作用,只需要在web.xml中像如下添加元素即可
<!-- 注册一个监听器 -->
<listener>
<!-- 指定监听器实现类的全限定名 -->
<listener-class>
com.web.servlet.OnlineListener
</listener-class>
</listener
最后,我们创建几个Servlet来测试这个监听器实现的功能。
处理用户登录的Servlet类代码:
处理用户登录Servlet的类代码
然后创建一个index.html文件,用来供用户登录,代码如下:
把WEB部署到Tomcat容器总,并启动。打开浏览器访问即可