Prezados usuários do GUJ, estou com um pequeno probleminha aqui em meu projeto e gostaria da ajuda de vocês.
Antes de mais nada eu gostaria de alertá-los de que já procurei por soluções pertinentes no Google e aqui no forum, porém não encontrei nada que solucionasse o problema.
Também acho bom salientar que este é meu primeiro projeto Web, portanto perdoem-me qualquer idiotice -.-
Tenho algumas páginas JSP no projeto que só podem ser acessadas se o usuário estiver logado, então por conta diso criei um filtro que verifica por um atributo na session e este funciona corretamente.
Porém, na hora de adicionar os headers para bloquear o acesso às páginas através dos botões Voltar e Avançar do browser foi que me enrolei.
Adicionei o seguinte código em um arquivo no-cache.jsp:
<%
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");
response.setDateHeader ("Expires", 0);
%>
Tentei adicioná-lo nas páginas que serão protegidas desta forma:
<jsp:include page="no-cache.jsp" />
Porém os botões continuam funcionando. u_u
Se adicionar o scriptlet diretamente nas páginas o resultado sai como esperado, mas não é legal desta forma =P
Abraços
Fala Bruno,
tente ver se dessa forma fica mais caprichado: Coloque no seu web.xml
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<include-prelude>/template/header.jsp</include-prelude>
<include-coda>/template/footer.jsp</include-coda>
</jsp-property-group>
</jsp-config>
:arrow: (Mais configurações interessantes aqui: http://www3.hi.is/pub/cs/2002-03/hv2/xml/Sun_tutorial_addendum/doc/JSPIntro14.html)
Ai no header.jsp você deixa seu include ou diretamente o código como preferir…
e cria m footer.jsp p/ fechar as tags que você abriu no header.
Tipo:
header.jsp
<%
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");
response.setDateHeader ("Expires", 0);
%>
<html>
<head>
<title>Teste VRaptor</title>
</head>
<body>
seuDocumento.jsp
<!-- O Inicio do Documento já é incluido automaticamente pelo web.xml -->
... CONTEUDO DO BODY
<!-- O Rodapé vai ser incluido também -->
footer.jsp
</body>
</html>
É uma saida… 
Pô cara, é isso mesmo!
Ficou assim:
<jsp-config>
<jsp-property-group>
<url-pattern>/admin/*</url-pattern>
<include-prelude>/admin/no-cache.jsp</include-prelude>
</jsp-property-group>
</jsp-config>
Assim qualquer página criada dentro de /admin terá os headers adicionados.
Muito obrigado pela ajuda 
Abraços