Contar los usuarios online

Para conocer el número de usuarios conectados en nuestra web, existe un sencilla forma de hacerlo que nos da el mismo API de Servlets de java.

Simplemente tenemos que crear un listener que implemente la interface HttpSessionListener, dónde implementaremos los métodos sessionCreated, donde incrementaremos el contador total de usuarios, y sessionDestroyed, dónde lo decrementaremos. Por último deberemos declarar el listener en el web.xml, así ya tendremos implementado nuestro contador de usuarios online.

También hay ocasiones, que nos puede interesar conocer el número de usuarios autentificados que están conectados en un momento dado en nuestra aplicación web. Esto lo podemos hacer también de una forma muy sencilla, gracias a la interface HttpSessionBindingListener, que causa que el objeto que implementa ésta interface sepa cuando se le está añadiendo y quitando de la sesión. Ésto se consigue a partir de los métodos valueBound y valueUnbound, el valueBound será llamado al establecer en sesión el objeto que implementa la interface(incementar) y el valueUnbound al quitarlo de la sesión(decrementar).

Por último, con el número de usuarios autentificados y el total disponible, tenemos también disponible la cantidad de usuarios anónimos.