Это не похоже на работу. Любые советы?
Атрибут cachingAllowed
на самом деле настраивает кэширование на стороне сервера, а не кэширование на стороне клиента, как вы ожидаете.
Кэширование на стороне клиента должно выполняться с соответствующими заголовками ответа. Чтобы полностью отключить кэширование на стороне клиента для определенных ресурсов, необходимо создать Filter
, который прослушивает требуемый url-pattern
и имеет по крайней мере следующие строки внутри метода doFilter()
:
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0); // Proxies.
response
здесь, кстати, HttpServletResponse
, который был приведен обратно из 2-го ServletResponse
аргумента метода doFilter()
.
Не забудьте очистить кэш на стороне клиента (таким образом, внутри конфигурации веб-браузера) перед тестированием всего этого:)