2013-07-11 67 views
5

Tomcat'in görüntüleri doğru son kullanma tanımlarıyla göndermesini sağlayamıyorum. Tarayıcı, daha önce indirilen görüntüler için istekleri göndermeye devam ediyor ve Tomcat 304 ile yanıt veriyor. İstediğim şey, Tomcat'ın uygun son kullanma sayısı üstbilgisi ve herhangi bir Son değiştirilen üstbilgisi olmaksızın başlangıç ​​isteğine yanıt vermesidir, böylece tarayıcı yerel önbelleği dosyaya kadar kullanır görüntünün değişip değişmediğini görmek için sunucuya gitmeden her sayfa yüklenir.Tomcat ExpiresFilter düzgün çalışmıyor

Ben benim web.xml dosyasında aşağıdaki tanım:

<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 1 weeks</param-value> 
    </init-param> 
    <init-param> 
     <param-name>ExpiresByType text/css</param-name> 
     <param-value>modification plus 0 minutes</param-value> 
    </init-param> 
    <init-param> 
     <param-name>ExpiresByType application/javascript</param-name> 
     <param-value>modification plus 0 minutes</param-value> 
    </init-param> 
</filter> 

<filter-mapping> 
    <filter-name>ExpiresFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
</filter-mapping> 

fikrin var mı?

bir son kullanma başlığıdır: aşağıdaki gibi

org.apache.catalina.filters.ExpiresFilter.level = FINE 

Sen mesajı log göreceksiniz:

$CATALINA_BASE/conf/logging.properties aşağıdaki bildiriyi ekleyin: Container Provided Filters > ExpiresFilter > Troubleshooting anlatıldığı gibi

cevap

5

Eğer ExpiresFilter günlükleri etkin Can eklendi:

Mar 26, 2010 2:09:47 PM org.apache.catalina.filters.ExpiresFilter onBeforeWriteResponseBody 
    FINE: Request "/tomcat.gif" with response status "200" 
    content-type "image/gif", set expiration date 3/26/10 2:19 PM 

Hiçbir son kullanma tarihi eklenir:

Mar 26, 2010 2:10:27 PM org.apache.catalina.filters.ExpiresFilter onBeforeWriteResponseBody 
    FINE: Request "/docs/config/manager.html" with response status "200" 
    content-type "text/html", no expiration configured