Tomcat: управление кэша

Причал имеет параметр CacheControl (может быть указанный webdefault.xml), который определяет кэширующееся поведение клиентов (путем влияния на заголовки, отправленные клиентам).

Tomcat имеет подобную опцию? Короче говоря, я хочу выключить кэширование всех страниц, поставленных сервером кота и/или определенным веб-приложением?

Обновление

Обратите внимание на то, что я не обращаюсь к кэшированию серверной стороны. Я хочу, чтобы сервер сказал всем клиентам (браузеры) не использовать свой собственный кэш и всегда выбирать содержание с сервера. Я хочу сделать это для всех ресурсов, включая статические ресурсы (.css, .js, и т.д.) сразу.

43
задан Stu Thompson 20 May 2010 в 18:55
поделиться

3 ответа

Я не думаю, что существует конфигурация для этого. Но не должно быть больших усилий написать фильтр для установки заголовка Cache-Control на основе каждого webapp. Например:

public class test implements Filter {

        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
                throws IOException, ServletException {

            chain.doFilter(request, response);
            ((StatusResponse)response).setHeader("Cache-Control",
                    "max-age=0, private, must-revalidate");
        }

        public void destroy() {}

        public void init(FilterConfig arg0) throws ServletException {}
}

И вы поместите этот фрагмент в файл web.xml вашего webapp.

<filter>
    <filter-name>SetCacheControl</filter-name>
    <filter-class>ch.dietpizza.cacheControlFilter</filter-class>
</filter>                       
<filter-mapping>
    <filter-name>SetCacheControl</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
15
ответ дан 26 November 2019 в 22:46
поделиться

может быть это то, что вы ищете:

http://tomcat.apache.org/tomcat-6.0-doc/config/context.html#Context%20Parameters

    cachingAllowed : If the value of this flag is true, the cache for static

 resources will be used. If not specified, the default value of the flag is true.

Также удалите папку кэша приложений в / work / Catalina / localhost после изменения этого флага.

0
ответ дан 26 November 2019 в 22:46
поделиться

Единственный известный мне параметр - это disableProxyCaching в элементах . См. здесь .

0
ответ дан 26 November 2019 в 22:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: