Controle de sessão JSP em cache de pagina no navegador

Gostaria de uma ajuda sobre como controlar sessão de um site feito em JSP
Via controle de login consigo controlar o acesso a paginas, mas o endereço das paginas que precisam de permissão de acesso que ficam gravadas no cache do navegador são acessadas sem controle de senha e Login.
ja tentei as seguintes opções:
1.na pagina JSP de logout do sistema pus a seguinte linha :
session.invalidate();

2.nas paginas de acesso restrito pus as seguintes linhas:

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

  1. Controle de uma variavel tipo boolean na Session:

session.setAttribute(“controle_sessao”,true);para sessão aberta

session.setAttribute(“controle_sessao”,false);para sessão fechada

  1. Controle para expirar sessão :

session.setMaxInactiveInterval(300);

, mas nenhuma solução funcionou , as pagina de acesso restrito continuam a serem carregadas pelo cache do navegador.

Se tiver alguma relevância uso o servidor de aplicação JBOSS 3.2.6

Alguem tem alguma solução mais original??

voce esta fazendo checagem dos dados nos .jsp? Ou seja, voce tem um

if (session.getAttribute("usuario_logado").equals("1")) {\
    // ...
}

ou qq coisa do genero?

Rafael

Agradeço a sua ajuda amigo , esta dica foi muito valiosa , consegui resolver um problema de segurança do site.
ABRAÇOS

Ave maria, use filtros companheiro! Fazer esse tratamento em todas as páginas deve dar uma dor de cabeça…

http://www.guj.com.br/java.artigo.11.1.guj

Agradeço muito mesmo a sua gentileza de me ajudar . Vou dar uma lida no tutorial calmamente.

                            Abraços , Marcílio J C Gomes

[quote=Maurício Linhares]Ave maria, use filtros companheiro! Fazer esse tratamento em todas as páginas deve dar uma dor de cabeça…

http://www.guj.com.br/java.artigo.11.1.guj[/quote]

Segui o tutorial, quando faço o mapeamento no web.xml minha aplicação para de funcionar, veja o mapeamento abaixo:

<filter> 
    <filter-name>filtro</filter-name> 
        <filter-class>Filtro</filter-class> 
    </filter> 
    <filter-mapping> 
        <filter-name>filtro</filter-name> 
        <url-pattern>/suporte</url-pattern> 
    </filter-mapping>

O que pode ser ??

[quote=Rafael Steil]voce esta fazendo checagem dos dados nos .jsp? Ou seja, voce tem um

if (session.getAttribute("usuario_logado").equals("1")) {\
    // ...
}

ou qq coisa do genero?

Rafael[/quote]

Comigo também está acontecendo este problema.
No server local é uma coisa (também tem problemas de cachê do servidor, mas é bem menos do que no servidor linux da internet).

Este teste com if não deu certo. Ele não foi aceito e mostra um erro na página, justo na linha deste if.

A página de administração fica aberta mesmo depois de encerrar a sessão.

E olha que eu invalidei com session.invalidate(); e mesmo assim ela fica aberta.

Descobri que é problema de cachê quando fui ver o código-fonte que peguei pelo browser. Pude ver que códigos JSP que logo depois eu deixei como comentários do JSP, estavam lá na página.
É como se o servidor estivesse interpretando uma modificação anterior da página e não a atual.

Opa, resolvi meu problema.

Enviei novamente outra aplicação de extensão “.war” ao servidor, mas com as linhas:

response.setHeader(“Cache-Control”,“no-cache”);
response.setHeader(“Pragma”,“no-cache”);
response.setDateHeader (“Expires”, 0);

como consta neste tópico:

http://www.guj.com.br/posts/list/83080.java

Só deu certo após excluir a aplicação anterior e reenviá-la ao servidor.

[]s