Apagar sessao - zerar dados

2 respostas
F

Ola Pessoal,

Estou com problema numa aplicação for web, da seguinte forma:

É uma lojaonline completa(Hibernate, JSF, JSP, Mysql). O que acontece é que as vezes o cliente esta na penultima tela para fechar o pedido, entao ele fecha o pedido, mas se ele voltar no navegador, para continuar navegando, o sistema dispara o email do pedido fechado, mas continua navegando com os itens no carrinho(que ele ja comprou). Minha session esta controlada para expirar em 30 min. Nao trabalho cookies. Andei pesquisando o invalidate, mas nao adiantou.
Existe alguma funcao direta na pagina que verifique se o cara voltou uma pagina ai entao ele “zera” toda a sessao?

Obrigado,

2 Respostas

maior_abandonado

acho que você não esta entendendo bem o seu problema… ou está tendo problemas de lógica… se o usuário fechou o pedido, você só tem que limpar o carrinho, não toda a sessão… se o usuário estiver por exemplo logado no seu site ele seria deslogado por que isso fica na sessão…

a forma correta é usar o método removeAttribute passando o nome do seu carrinho de compras depois que o pedido tiver sido finalizado, ou ao invés disso você setar um objeto do carrinho porém vazio (no formato que estava, eu não sei se no seu sistema é usado um objeto CarrinhoDeCompras, um simples List<Produto> ou o que é).

Hebert_Coelho

Concordo com tudo que o maior_abandonado falou.

E falo algo a +, cara, se session.invalidate() não limpa seu carrinho você tem algum erro de lógica. Pois quando você chama o invalidate tudo o que estava na sessão vai pro buraco negro do JavaWeb.

Criado 4 de abril de 2012
Ultima resposta 4 de abr. de 2012
Respostas 2
Participantes 3