Мета-заголовки используются только тогда, когда страница запрашивается из файловой системы локального диска, а не через HTTP.Вместо этого вам нужно установить реальный заголовок ответа HTTP.
Создать фильтр , который в основном выполняет следующую работу:
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletResponse hsr = (HttpServletResponse) res;
hsr.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
hsr.setHeader("Pragma", "no-cache"); // HTTP 1.0.
hsr.setDateHeader("Expires", 0); // Proxies.
chain.doFilter(req, res);
}
Отобразить егодля шаблона URL, например, *.jsp
, чтобы он работал на всех страницах JSP.
Вы правильно сделали с заголовками Cache-Control
в исходном вопросе, обязательно иметь no-store
и must-revalidate
по no-cache
.Почти все остальные ответы, опубликованные до сих пор, в основном предназначены для MSIE.
См. Также: