Como faço para que o Tomcat não armazene em cache os arquivos gerados pela minha aplicação web?
Estou com o seguinte problema, a minha aplicação gera arquivos PDF no servidor para serem baixados pelo usuário, só que o container não atualiza estes arquivos a medida que o usuário os gera.
Se eu for no servidor e abrir o arquivo gerado, o mesmo foi criado de forma correta com os dados atuais, só que quando tento baixá-lo, resgato um arquivo que possivelmente está em cache, não correspondendo ao último gerado.
A maneira mais estúpida é mandar cada PDF com um nome diferente:
http://suaaplicacao.com.br/aplicacao/servletGeradorDePDFs/meurelatorio.pdf?id=1234s5b2e13h44j994d2
onde id=1234s5b2e13h44j994d2 é um “id” aleatório que você muda a cada vez que for solicitar um novo arquivo. Aí isso vai ficar no cache, mas quando você for pedir uma nova versão do relatório, como o ID vai ser diferente, então vai pegar a versão nova, não a do cache.
boa pergunta, tem como limpar o cache… tive um problema com isso esses dias
tipow… tinha um arquivo header.jsp
dai na minha maquina alterei esse arquivo, e tals…
dai substitui o arquivo header.jsp pelo que tinha alterado
simplesmente quando abria a pagina abria o arquivo antigo, sem que ele nem estava mais lah
algum jah passou por isso? que explicações tenho pra esse fato?
vlws
apaga a pasta “work” dentro do tomcat e reinicia ele … 
O cache do tomcat fica no diretório work. Você pode limpar esse diretório, assim automaticamente “esvazia” seu cache. Mas seria interessante pensar em fazer isso no momento de execução da aplicação.