Limpar cache via Servlet?

9 respostas
R

Fala galera…blz??

existe algum meio de limpar o cache do browser via serlvet??

consegui fazer isso via JSP…mas preciso fazer isso via servlet??

alguem sabe como??

valew

9 Respostas

Rafael_Steil

Como voce fez com JSP? setando aqueles headers malucos do HTTP?

Rafael

wbsouza

Limpar o cache não tem como, pois vc esta do lado servidor, e o cache do browser do lado cliente. O que pode ser feito, é colocar no header do html, é o que acredito que o nosso amigo Rafael esta falando.

Isto é feito para que o html relacionado a url não seja guardado em cache (em servidores proxy é muito comum guardar as paginas já acessadas). Assim, este html + imagens não é guardado.

[]s, Welington B. Souza

R

o problema eh q minha pagina HTML eh gerada dinamicamente…

o JasperReports gera um HTML com o relatorio…

nao tem como manusear o HTML…ou tem???

valew

wbsouza

Dê uma pesquisada melhor no JasperReports. Deve ter algum template que ele está seguindo. Assim é só mudar este template para conseguir o que vc quer. Se não tiver, talvez seja necessário modificar o codigo fonte dele. Acho improvável que alguém já não tenha passado por isso.

De qualquer modo sei que é possível manipular a saída html aplicando um filtro na saida do seu web server. Em ultimo caso tb pode ser tentado alguma coisa neste sentido.

[]s, Welington B. Souza

N

Então de fato você não quer limpar o cache do seu browser.

O que você quer é que sua página não seja mantida no cache do browser.

Nesse caso você usa o que o pessoal falou, headers HTTP.

No seu HttpServletResponse você atribui os headers com os respectivos valores:

Pragma = no-cache
    Cache-control = no-cache
    Expires = 0

Mas se a página já estiver no cache, você tem que limpar manualmente através dos menus do seu browser. Depois de limpo o cache, sua página nunca mais será cacheada.

Se você puder manipular seu HTML, então acrescenta dentro da seção <head>:

&lt;head&gt;
    ...
    &lt;meta HTTP-EQUIV="Pragma" CONTENT="no-cache" /&gt;
    &lt;meta HTTP-EQUIV="Cache-control" CONTENT="no-cache" /&gt;
    &lt;meta HTTP-EQUIV="Expires" CONTENT="0" /&gt;
    ...
    &lt;/head&gt;

Também ajuda :?

R

valew net_sandro…

no servlet, se eu apenas setar esses atributos no Request, qdo mostrar o HTML ele ira entender essas instrucoes?? jah q nao consigo manipular o HTML…

N

Cara, eu nunca tentei isso, de repente funciona :wink:

R

entao cara…

eu jah vi assim:

response.setDateHeader (“Expires”, -1);

e vc falou q o certo eh:

response.setDateHeader (“Expires”, 0);

qual o correto mesmo??
como saber se estah funcionando??

valew

jack_ganzha

Dá uma olhada nesse artigo do JavaFree:
http://www.javafree.com.br/home/modules.php?name=News&file=article&sid=368

Vc tem que ficar esperto de acordo com a versão do http utilizada.

valeuz…

Criado 12 de junho de 2003
Ultima resposta 14 de jun. de 2003
Respostas 9
Participantes 5