JEE | Mais de uma instancia por browser

1 resposta
berg.pb

Opa Gente.

Seguinte, na minha aplicação utilizo um singleton para gerenciar a conexão com o servidor da aplicação.
Qdo a aplicação funcionando, ela abre no browser legalzim.

Porém, se eu abro uma outra guia/aba no mesmo browser, ou ainda em janelas diferentes (de um mesmo browser), a aplicação assume a informação do último login.
Vo tentar ser mais claro, por um exemplo:

  1. numa aba ou janela, faço o login com os dados de Xuxa Meneghel. Vo chamar esta Aba de AbaJanela_X.
  2. navego nesta aba normalmente e funciona legal.
  3. numa outra aba ou janela do mesmo browser, eu faço o login Mara Maravilha. Vo chamar esta Aba de AbaJanela_M.
  4. nesta AbaJanela_M, td tabém funciona direito.
  5. o problema acontece quando eu volto para a AbaJanela_X. Qdo tento acessar os dados da ‘Rainha’, ele assume o último login (mesmo sendo em abas e/ou janelas diferentes), me mostrando os dados da ‘Maravilha’.

Deu pra entender?
Então, pensei que fosse alguma coisa com o singleton. Retirei ele e mandei executar uma nova versão da conexão a cada consulta no BD.
Deu na mesma.

Só pra salientar: o servidor de aplicação é o Tomcat.

Vo dar uma olhada no Contexto da aplicação mais tarde no livro da Kathy Sierra… Porém, pensei em passar aqui primeiro.
Então, fica a pergunta. Valeu. \o/

1 Resposta

dev.rafael

Isso acontece pq as informações da sessão do usuário ficam em um cookie no browser. Assim enquanto vc estiver no mesmo browser, ñ importa quantas abas/janelas, o servidor sempre vai reconhece-las como sendo do mesmo usuário.

Criado 17 de novembro de 2010
Ultima resposta 18 de nov. de 2010
Respostas 1
Participantes 2