Acessos simultaneos em uma página

3 respostas
M

Pessoal, boa tarde.

Tem alguma maneira de saber quantas pessoas estão acessando uma mesma página ao mesmo tempo?
Ex: Quero saber quantas pessoas estão no index.jsp neste momento.

Obrigado.

3 Respostas

T

Quantas pessoas estão visualizando a página index.jsp? Isso você não tem como saber.
Quantas páginas index.jsp foram baixadas nos últimos 5 minutos? Dá para saber olhando o log do seu web server.

rodrigoallemand

Até dá pra saber, mas vai te dar um trabalhinho…
Segue o roteiro:

  • Criar um objeto de controle para cada página, contendo o nome e uma lista de sessionIds
  • Criar uma especie de Singleton para reter uma lista com as informações das páginas, com esse objeto de controle da página, iniciando o servidor com todas as páginas existentes e os valores de acesso simultaneo zerado, ou seja, a lista de sessions está vazia
  • A cada RequestDispatcher que for efetuado, vc deve incluir a sessionId na lista da página referente
  • A cada sessão morta, vc deve varrer a lista de páginas e retirar a sessão já morta

Fora outros controles que ficaram de fora deste pequeno brainstorm…

gui_sv

Pra tudo dá-se um jeito nesta vida !!!

Vamos lá:

Procure algo sobre SessionCounter, SessionListener / Filters

Passei por um problema parecido aqui na empresa … precisava controlar somente um login conectado no sistema … caso outro com o mesmo login conectasse de outra sessao … o primeiro conectado “caia”. E Resolbi combinando filtro com sessionListener

O filtro funciona da seguinte maneira: Cada request feito ele passa pelo filtro.

Entao o que vc pode fazer é criar uma lista static no filtro e la vc guarda os usuarios conectados (Na tela de login, qnd o cara for autenticado vc insere nesta lista).

Veja:
http://javaboutique.internet.com/tutorials/Servlet_Filters/

Cara espero ter ajudado … qq duvida posta ae !!

Abraços e boa sorte

Criado 13 de dezembro de 2007
Ultima resposta 13 de dez. de 2007
Respostas 3
Participantes 4