编写一个程序,联合Servlet和Listener技术实现网站在线人数的统计功能。
时间: 2024-03-17 14:40:27 浏览: 79
在线人数统计程序
好的,这是一个典型的Servlet+Listener实现在线人数统计的案例,我们可以按照以下步骤进行实现:
1. 创建一个计数器类,用于统计在线人数。代码如下:
```
public class OnlineCounter {
private static int count = 0;
public static synchronized void increase() {
count++;
}
public static synchronized void decrease() {
count--;
}
public static synchronized int getCount() {
return count;
}
}
```
2. 创建一个Listener类,用于监听用户的登录和退出事件。代码如下:
```
public class OnlineListener implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent event) {
OnlineCounter.increase();
}
public void sessionDestroyed(HttpSessionEvent event) {
OnlineCounter.decrease();
}
}
```
3. 在web.xml文件中配置Listener类。代码如下:
```
<listener>
<listener-class>com.example.OnlineListener</listener-class>
</listener>
```
4. 在Servlet中获取在线人数并输出到页面。代码如下:
```
public class OnlineServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("当前在线人数:" + OnlineCounter.getCount());
out.close();
}
}
```
这样就完成了在线人数统计的功能。当用户登录时,计数器加1;当用户退出时,计数器减1。通过Listener监听用户的登录和退出事件,实现在线人数的统计。Servlet负责将在线人数输出到页面上。
阅读全文