How to set Cache Control to no-cache in Tomcat 7?

jgr208 picture jgr208 · Mar 8, 2017 · Viewed 7.4k times · Source

I am trying to set the Cache Control for Tomcat 7 to the no-cache option.

I have tried to use the ExpiresFilter in my web.xml as follows:

<filter>
    <filter-name>ExpiresFilter</filter-name>
    <filter-class>org.apache.catalina.filters.ExpiresFilter</filter-class>
    <init-param>
    <param-name>ExpiresByType image</param-name>
    <param-value>access plus 0 seconds</param-value>
    </init-param>
    <init-param>
    <param-name>ExpiresByType text/css</param-name>
    <param-value>access plus 0 seconds</param-value>
    </init-param>
    <init-param>
    <param-name>ExpiresByType application/javascript</param-name>
    <param-value>access plus 0 seconds</param-value>
    </init-param>

    <init-param>
    <param-name>ExpiresDefault</param-name>
    <param-value>access plus 0 seconds</param-value>
    </init-param>
</filter>

<filter-mapping>
<filter-name>ExpiresFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>

However when I read my response headers all I get is:

Cache-Control:max-age=0

and not Cache-Control: no-cache.

How can I set my Tomcat server to specify Cache-Control: no-cache only through configuration files?

Answer