Problemas com sessões e abas dos navegadores

8 respostas
U

Ola pessoal,

tenho um sistema aqui antigo, feito em jsp.

que o cliente preenche varios formularios e algumas informações são guardadas em session.

o problema é seguinte notei se o cliente estiver no ultimo passo. mais caso ele decida abrir uma nova aba(no firefox por exemplo) e ler informações de outro produto na hora que ele volta na sessão inicial e manda gravar, ocorre erros, pois os dados da sessão foram mudados.

como eu poderia resolver isso ?

existe algum truqe ? ou sera que vou ter que sair mudando todo o código ?

8 Respostas

plentz

O Seam tem um recurso que permite fazer isso de forma “transparente”. Mas implementar na mão costuma ser bem sacal. Depende muito de o que você colocou na sessão, etc.

U

é verdade… eu precisava de algo assim: http://weblogs.java.net/blog/bleonard/archive/2006/11/a_conversation.html

mais pelo geito vai ser mais facil mudar a aplicação… tipo servlet deveria criar esse novo tipo também.

U

vc sabe por onde eu tenho que começar para implementar isso ?

U

o que eu preciso é que a cada browser aberto(aba) seja criada uma nova sessão. só isso ! existe alguma configuração no tomcat para isso ? que pagina eu preciso estender para fazer isso.

KWill

Eu tenho quase que certeza seu problema não será resolvido no lado servidor (eu raramente tenho certezas). O browser do usuário precisa avisar que ele está usando uma outra aba. Se você precisa de uma solução para isso, acho que ela talvez envolva javascript.

Inté.

U

um outro problema que o jsp armazena session em cookie e os browsers compartilham as cookies por aba ou mesmo janelas. dae fica dificil eu até poderia invalidar a sessão… mais eu não quero perder os dados de nenhuma aba.

na verdade acho que eu teria que reescrever todo o tratamento de sessão… para não funcionar desta forma.

tipo é meio precario o jsp/servlet armazenar dados da sessão em cookies…

plentz

Se você precisa implementar o conceito de múltiplas conversações, eu não conheço nenhuma forma mais simples de fazer isso. E implementar na mão, provavelmente vai dar BASTANTE trabalho.

U

eu acredito que seam implemente esse comportamento mais não httpsession, acho que ele faz de outra forma… por isso que deve ser mais facil… o problema para mim fazer desta outra forma eu teria q reimplementar todo a porcaria deste sistema :wink:

Criado 3 de abril de 2007
Ultima resposta 10 de abr. de 2007
Respostas 8
Participantes 3