Очистить кеш браузера - PullRequest
1 голос
/ 08 октября 2010

Я программирую приложение Java.и получаю ошибку, потому что браузер не подключается к серверу для получения новых значений, просто рендеризируется из кеша ... Я делаю что-то вроде этого:

<% if(request.getAttribute("msg")!=null)
    out.println("alert("+request.getAttribute("msg")+")");
%>

Работает нормально, но когда я нажимаю нассылку, а затем нажмите кнопку НАЗАД из браузера, он не вызывает сервер ... Я пробовал что-то вроде: response.setHeader("Pragma", "No-Cache"); на Java и <meta http-equiv="expires" content="no-cache"> на HTML, но ничего не помогло ... кто-нибудь есть предложение?

Ответы [ 2 ]

1 голос
/ 08 октября 2010

Убедитесь, что ваш браузер настроен на запрос новых страниц при каждом посещении сайта.Вы также можете добавить дополнительный параметр для запроса, например отметку времени, чтобы он всегда выглядел как новый запрос к серверу.

0 голосов
/ 08 октября 2010

Вы действительно должны указать веб-браузеру не кэшировать ответ, установив соответствующие заголовки ответа.Правильный набор заголовков ответов таков:

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.

Вы хотели бы сделать это в классе Filter, который сопоставлен с интересующим url-pattern, например, *.jsp, а не копированиемодинаково для всех страниц JSP.

См. также:

PS: не забудьте очистить кеш браузера перед тестированием, старая страница все еще там;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...