在线用户使用HttpSessionListener监听器统计
每当一个session会话建立 在线用户人数+1
使用ServletRequestListener监听器统计用户信息
新建一个CountListener
public void sessionCreated(HttpSessionEvent se) {
/* Session is created. */
//统计在线人数方法
//从ServletContext中获取当前在线人数
//获取全局变量对象
ServletContext context = se.getSession().getServletContext();
//获取count参数的值
Integer count = (Integer) context.getAttribute("count");
//如果为null则是第一个用户访问
if (count==null){
context.setAttribute("count",1);
}else {
//否则每增加一个用户count加一
context.setAttribute("count",count+1);
}
}
新建IndexServlet
@WebServlet(name = "IndexServlet",urlPatterns = "/IndexServlet")
public class IndexServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取全局参数对象
ServletContext context = request.getSession().getServletContext();
//获取conut的值
Integer count = (Integer) context.getAttribute("count");
//响应给客户端
response.getWriter().println("当前在线人数:"+count);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
结果:不同的浏览器访问,人数一次增加一位