Возможно, страница действительно кэшируется браузером. Вы можете проверить это в Firefox с помощью Firebug . Как правило, вы хотите отключить кэширование динамического содержимого на стороне клиента. Вы можете добиться этого, создав Filter
, который сопоставлен с url-pattern
из *.jsp
и выполняет в основном следующую работу в методе doFilter()
.
HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1
httpResponse.setHeader("Pragma", "no-cache"); // HTTP 1.0
httpResponse.setDateHeader("Expires", 0); // Proxies.
chain.doFilter(request, response);
Эти заголовки ответа будут указывать клиенту (веб-браузеру) не кэшировать ответ. Не забудьте очистить кеш браузера перед тестированием.
В Spring MVC вы можете создать перехватчик следующим образом:
public class DisableBrowserCachingInterceptor extends HandlerInterceptorAdapter {
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
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
}
}