2009-12-15 15 views
10

Stavo leggendo questo: http://docs.codehaus.org/display/JETTY/LastModifiedCacheControlCome configurare la cache per le risorse statiche in web.xml per Jetty?

Si dice

Il servlet Jetty predefinito consente l'intestazione di controllo della cache di essere impostato per i contenuti statici usando il CacheControl parametro init utilizzando:

<init-param> 
    <param-name>cacheControl</param-name> 
    <param-value>max-age=3600,public</param-value> 
</init-param> 

Tuttavia, non sono sicuro che sto usando il servlet predefinito. Almeno tale configurazione non è in web.xml:

<web-app> 
    <display-name>Wicket QuickStart</display-name> 
    <context-param> 
     <param-name>configuration</param-name> 
     <param-value>development</param-value> 
    </context-param> 
    <servlet> 
     <servlet-name>quickstart</servlet-name> 
     <servlet-class>org.apache.wicket.protocol.http.WicketServlet</servlet-class> 
     <init-param> 
      <param-name>applicationClassName</param-name> 
      <param-value>wicket.quickstart.WicketApplication</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>quickstart</servlet-name> 
     <url-pattern>/*</url-pattern> 
    </servlet-mapping> 
</web-app> 

Vorrei configurare la cache per le risorse statiche come ad esempio:

/src/webapp/*, vale a dire: /src/webapp/images, /src/webapp/css, /src/webapp/js, ecc

COSA DEVO aggiungi al mio web.xml?

risposta

9

bisogno di aggiungere quanto segue al web.xml

<servlet> 
    <servlet-name>default</servlet-name> 
    <servlet-class>org.mortbay.jetty.servlet.DefaultServlet</servlet-class> 
    <init-param> 
     <param-name>cacheControl</param-name> 
     <param-value>max-age=3600,public</param-value> 
    </init-param> 
</servlet> 
+1

Con wicket le risorse statiche sono in realtà serviti con WicketServlet, quindi questo non aiuta :( – Martin

+3

Oh, capisco. Credo che all'interno dell'applicazione. init() è necessario impostare quanto segue: getResourceSettings(). setDefaultCacheDuration (3600); – user5084

+2

Se non si utilizza Wicket, come me, ma si sta utilizzando Jetty 8 o successivo, modificare org.mortbay.jetty.servlet .DefaultServlet a org.eclipse.jetty.servlet.DefaultServlet –

Problemi correlati