2009-12-15 3 views
10

나는이 글을 읽는했다 :Jetty에서 web.xml의 정적 리소스 캐시를 구성하는 방법은 무엇입니까?

: 는 http://docs.codehaus.org/display/JETTY/LastModifiedCacheControl

제티 기본 서블릿 에 캐시 제어 헤더가 사용 cacheControl 초기화 매개 변수 를 사용하여 정적 인 내용을 설정할 수 있습니다 말한다

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

그러나 기본 서블릿을 사용하고 있는지 확실하지 않습니다. 적어도 이러한 구성은 web.xml 파일에없는 : 즉

/src/webapp/*, :

<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/images, /src/webapp/css, /src/webapp/js

을 내가 뭘해야 내 web.xml에 추가 하시겠습니까?

답변

9

개찰 정적 자원이 실제로 WicketServlet와 함께 제공되는 사용하여 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

에 다음을 추가해야합니다, 그래서 이것은 아, 그렇군요. 내가 응용 프로그램 내 생각 :( – Martin

+3

도움이되지 않습니다. init() 당신이 다음과 같이 설정해야합니다. getResourceSettings(). setDefaultCacheDuration (3600); – user5084

+2

나와 같은 Wicket을 사용하고 있지 않지만 Jetty 8 이상을 사용하고 있다면 org.mortbay.jetty.servlet을 변경하십시오. .DefaultServlet to org.eclipse.jetty.servlet.DefaultServlet –