Olá,
Na minha aplicação estou usando Vraptor 3 e Tomcat 7.0.27.0.
Nesta aplicação estou tentando adicionar Cache para aumentar o desempenho, mas tenho algumas dúvidas.
A 1ª delas, seria qual a melhor forma para adicionar o controle de Cache.
Até agora nos meus testes estou utilizando alguns filters no WEB-INF/web.xml, encontrei essa solução no site do Tomcat http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#Expires_Filter.
Estou fazendo dessa maneira:
[code]
<!-- Expires headers (for better cache control) -->
<filter>
<filter-name>ExpiresFilter</filter-name>
<filter-class>org.apache.catalina.filters.ExpiresFilter</filter-class>
<init-param>
<param-name>ExpiresByType image</param-name>
<param-value>access plus 10 minutes</param-value>
</init-param>
<init-param>
<param-name>ExpiresByType text/css</param-name>
<param-value>access plus 10 minutes</param-value>
</init-param>
<init-param>
<param-name>ExpiresByType application/javascript</param-name>
<param-value>access plus 10 minutes</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>ExpiresFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
[/code]
O Cache das Imagens, Css e Javascript está funcionando normalmente. Porém, pesquisando no fórum, achei este post http://www.guj.com.br/java/266614 onde uma outra solução é apresentada.
Entre essas 2 soluções, qual seria a mais adequada?
Minha 2ª dúvida é em relação ao versionamento dos CSS e Javascript.
Quando houver alguma alteração nesses arquivos o Browser deve entender que estes foram modificados e carregá-los do servidor e não mais da Cache do Browser. Pesquisando sobre esse assunto, encontrei em uma das vídeo aulas de Chris Coyier, uma solução proposta por Derek Gathright, onde são utilizados timestamp, algumas configurações no .htaccess e uma função PHP, segue o post http://derek.io/blog/2009/auto-versioning-javascript-and-css-files/. Porém, eu não consegui converter essa solução para o meu caso. Alguém sabe alguma forma de fazer esse versionamento com Tomcat e Vraptor?
Muito obrigado.