2009-12-15 5 views
10

Я читал это: http://docs.codehaus.org/display/JETTY/LastModifiedCacheControlКак настроить кеш для статических ресурсов в web.xml для Jetty?

Это говорит

причала по умолчанию сервлета позволяет управление кэшем заголовок быть установлен для статического контента с помощью CacheControl параметра инициализации с помощью:

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

Однако я не уверен, что использую сервлет по умолчанию. По крайней мере такая конфигурация не в 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> 

Я хотел бы настроить кэш для статических ресурсов, таких как:

/src/webapp/*, а именно: /src/webapp/images, /src/webapp/css, /src/webapp/js и т.д.

Что я должен добавить в мой web.xml?

ответ

9

нужно добавить следующие строки в 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

С калиткой статических ресурсов фактически подаются с WicketServlet, так что это не помогает :( – Martin

+3

О, я вижу. Я думаю, что в вашем приложении. init() вам нужно установить следующее: getResourceSettings(). setDefaultCacheDuration (3600); – user5084

+2

Если вы не используете Wicket, например я, но вы используете Jetty 8 или новее, измените org.mortbay.jetty.servlet .DefaultServlet to org.eclipse.jetty.servlet.DefaultServlet –

Смежные вопросы