2011-11-05 55 views
1

我們的網站運行tomcat和apache,並希望緩存僅在Apache級別的特定jpg,gif圖像以減少tomcat負載。Apache緩存特定圖像和css

關於CSS和Javascripts,它們都可以被緩存。

在部署更改的圖像時,應該自動加載css和javascripts。

我想獲得這個配置,但找不到任何..可以有人請分享示例配置?

對於我們來說只緩存特定的圖像是非常重要的,它也是非常重要的。

回答

1

在Tomcat應用程序的context.xml添加:

disableCacheProxy="false" securePagesWithPragma="false" 

其次是以下任何一種:

1.使用JSP:

  • 創建一個新的JSP如。 「nocache.jsp」 與以下內容:

    <meta http-equiv="pragma" content="no-cache"> 
    <meta http-equiv="Cache-Control" content="no-store"> <!-- HTTP 1.1 --> 
    <meta http-equiv="Expires" content="0"> 
    
  • 包含此JSP中的所有JSP的其中U不想爲緩存:

    <jsp:include page="../nocache.jsp" />

2.使用過濾器:

  • 創建一個新的Filter類 - 「CacheHeaderFilter」來處理類不被下面緩存:

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException { 
        HttpServletResponse httpResponse = (HttpServletResponse)response; 
        httpResponse.setHeader("Cache-Control","no-cache"); 
        httpResponse.setHeader("Pragma","no-cache"); 
        httpResponse.setDateHeader ("Expires", 0); 
        filterChain.doFilter(request, response); 
    } 
    
  • 在應用的web.xml,配置此過濾器,並指定URL的未進行如下緩存:

    <filter> 
        <filter-name>CacheFilter</filter-name> 
        <filter-class>com.org.CacheHeaderFilter</filter-class> 
    </filter> 
    
    <filter-mapping> 
        <filter-name>CacheFilter</filter-name> 
        <url-pattern>*.action</url-pattern> 
    </filter-mapping>` 
    
+0

非常感謝。 。會試着去看看它是怎麼回事.. – user1030627