Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Проблемы с кэшированием в Tomcat 5.0


Автор: rix 10.6.2004, 13:54
Добрый день!
Такая проблемка: при дефолтовых настройках сервера Tomcat v. 5.0 клиенту посылаются два поля:

Pragma: No-cache
Cache-Control: no-cache

Как их можно выкосить?

Автор: Domestic Cat 10.6.2004, 15:15
Dlya JSP
Код


<%
response.setHeader("Cache-Control", cache-request-directive | cache-response-directive); //HTTP 1.1
response.setHeader("Pragma",pragma-directive); //HTTP 1.0
response.setDateHeader ("Expires", "Thu, 01 Dec 2005 16:00:00 GMT
"); //naprimer
%>



gde

Код
cache-request-directive =
          "no-cache"                          
        | "no-store"                          
        | "max-age" "=" delta-seconds        
        | "max-stale" [ "=" delta-seconds ]  
        | "min-fresh" "=" delta-seconds      
        | "no-transform"                    
        | "only-if-cached"                    
        | cache-extension                      


    cache-response-directive =
          "public"                            
        | "private" [ "=" <"> 1#field-name <"> ]  
        | "no-cache" [ "=" <"> 1#field-name <"> ]
        | "no-store"                              
        | "no-transform"                          
        | "must-revalidate"                      
        | "proxy-revalidate"                      
        | "max-age" "=" delta-seconds            
        | "s-maxage" "=" delta-seconds            
        | cache-extension            


      pragma-directive  = "no-cache" | extension-pragma
      extension-pragma  = token [ "=" ( token | quoted-string ) ]            

Mozhno prosto prisvoit' znachenie "".

Автор: rix 22.6.2004, 09:31
Спасибо))
только сервер все равно запрещает кэшировать данные: картинки, например. Страницы, где я разместил директивы кэшируются, а все остальное - нет. В итоге браузер каждый раз лезет на сервер, когда перестраивает меню в фрэйме - это не есть гут

Автор: rix 22.6.2004, 10:59
Сам нашел))
в web.xml нужно добавить код
Код

<filter>
 <filter-name>
  ResponseHeaderFilter</filter-name>
 <filter-class>
  com.smthng.ResponseHeaderFilter</filter-class>
 <init-param>
   <param-name>
    Cache-Control</param-name>
   <param-value>
    max-age=3600</param-value>
 </init-param>
</filter>


с учетом имеющегося класса ResponseHeaderFilter.class
Код
[code]

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)