Fechar sessao e o q faço com o request

Oi, estou fazendo uma autorização via login, eu pego da pagina HTML pelo request e entro na pagina jsp. mas quando eu invalido a sessao ele se eu der um reload na pagina jsp que tem a sessao aberta ela loga de novo ela busca o que está digitano nos campos do request.

Como eu consigo resolver isso??

Obrigado,
Chari

opa! blz?

cara… nao sei se entendi direito sua dúvida…

qdo vc invalida a sessão, e o usuário faz um reload, ainda é possivel “permarecer logado” ?

se for isso, o q pode ta acontecendo é q a página ficou cacheada…
é bem simples de resolver isso adiciona essas 3 linhas no seu JSP:

response.setHeader("Cache-Control","no-cache"); //HTTP 1.1 
response.setHeader("Pragma","no-cache"); //HTTP 1.0 
response.setDateHeader ("Expires", 0); //nao salva cache no servidor proxy 

isso faz q as páginas nao sejam gravadas no cache do cliente, exigendo uma nova leitura no servidor a cada load… aí se a sessão nao estiver mais aberta, o usuário nao vai mais ter acesso a página…

espero ter ajudado! :cool:
flw!
abraços!

veja este link…

http://www.portaljava.com/home/modules.php?name=News&file=article&sid=355

response.setHeader("Cache-Control","no-cache"); //HTTP 1.1 response.setHeader("Pragma","no-cache"); //HTTP 1.0 response.setDateHeader ("Expires", 0); //nao salva cache no servidor proxy

Essa parte de limpar o cache é só para servidores proxy, aki nao é.

eu precisava é limpar a sessao, para que depois de eu clicar no link de “encerrar sessao” ele direciona para a pagina principal sem estar logado, e se eu clico em “back” no meu browser ele volta onde já está logado.

Obrigado,
CHari

tenho as classes abaixo
Conexao
ValidaLogin

tudo inicialmente é feito em HTML e logo depois de logar ele chama a uma pagina jsp, que é onde tem o link “encerrar sessao” que depois de clicar em “back” no browser ele retorna mesmo depois de encerrar a sessao.

Obrigado,
Chari

[quote=“Chari”]response.setHeader("Cache-Control","no-cache"); //HTTP 1.1 response.setHeader("Pragma","no-cache"); //HTTP 1.0 response.setDateHeader ("Expires", 0); //nao salva cache no servidor proxy

Essa parte de limpar o cache é só para servidores proxy, aki nao é.

eu precisava é limpar a sessao, para que depois de eu clicar no link de “encerrar sessao” ele direciona para a pagina principal sem estar logado, e se eu clico em “back” no meu browser ele volta onde já está logado.

Obrigado,
CHari[/quote]

nao nao…
ele nao grava cache em HTTP 1.1, 1.0 e tb qdo usa proxy…

coloque isso na página q vc nao quer q seja recarregada qdo o usuário der Back

flw!
abraços!

mesmo quando nao se usa proxy?

Obrigado
Chari

O problema nao é a sessao, e sim o request quando clica em “back” ele pega o login e a senha que está no request e reconecta ao banco.

Obrigado,
Chari

mas o request, ele só pega a 2 backs! hehehe…
pq tipo assim:

PAGINA EXIGINDO LOGIN > PROCESSADOR DE LOGIN > PAGINA DE ENTRADA

vc ta falando q depois do cara ter dado Logoff se vc der um back, ele pega de novo os parametros?

entao ta estranho a arquitetura do seu projeto… hehhee…

pq o back ia voltar pro PROCESSADOR DE LOGIN q só pega os parametros da PAGINA EXIGINDO LOGIN… se vc tava na PAGINA DE ENTRADA, nao tem como o PROCESSADOR DO LOGIN pegar os parametros…

o ideal é vc ter o seguinte…
:arrow: 1 - JSP sendo a PAGINA EXIGINDO LOGIN… q passa os parametros pra um…
:arrow: 2 - … um Servlet (PROCESSADOR DE LOGIN) q verifica se os parametros estão tudo ok, e faz o login, abrindo a sessão… e logo da um forward para a…
:arrow: 3 - … PAGINA DE ENTRADA… que verifica se a sessão está aberta, caso contrário, manda de novo para a PAGINA DE LOGIN. se tudo estiver ok, a página é exibida. (obs. essa página nao pode ser armazenada em cache, use aquelas 3 linhas pra evitar o cacheamento)
:arrow: 4- para fazer o Logoff, vc manda um parametro de Logoff para o servlet PROCESSADOR DE LOGIN, q invalida toda a sessão e da um forward para uma página de saída do sistema.

e pronto!
tudo funciona perfeito…
lembre-se q todas as páginas do sistema nao poderao ser cacheadas, entao use as 3 linhas para nao cachear… e tb todas as páginas devem verificar antes de tudo se a sessão está aberta, caso contrário, redireciona para a página de login.

bom… isso deve funcionar…
qualquer dúvida, posta aí! :grin:

abraços!

Ola pessoal.
Eu estava com o mesmo problema do colega acima só que eu coloquei as 3 linhas lá que não deixam cachear nada. E fiz exatamente como recomendaram aí. Tela de login >> servlet que verifica login >> tela dentro do sistema. O meu problema é que quando eu volto na página logada denovo depois de ter deslogado aparece uma página em branco com o titulo ‘Sessão Expirou’ ou alguma coisa parecida. Não é pra mostrar isso. Alguem sabe por que as vezes aparece esta tela e como se resolve isso?