GWT: response.setHeader - как? - PullRequest
       4

GWT: response.setHeader - как?

2 голосов
/ 08 июня 2011

Привет, у меня есть проект Google Web Toolkit. Я хотел бы использовать

response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");

Но я понятия не имею, как установить заголовок в GWT. У меня есть это «стартовое» приложение:

public class Starter extends HttpServlet {

    @Override
    public void init() throws ServletException {
      //do something    
    }
}

Но как мне получить доступ к «ответу»? Мне нужен "HttpServletResponse". Но как и где это поставить? Я видел этот запрос: Кэширование на стороне клиента в GWT , это что-то вроде моего, но это не помогает.

Спасибо

Ответы [ 3 ]

1 голос
/ 09 июня 2011

Я написал ответ здесь , который объясняет, как устанавливать заголовки, используя фильтр (мой пример кода должен работать во всех контейнерах сервлетов, таких как Tomcat, Jetty, ...)

Это может применяться как к статическим файлам (если вы обслуживаете их из контейнера сервлетов), так и к вашим сервлетам (просто убедитесь, что фильтр применяется к тому же пути, что и ваш сервлет - тогда вашФильтр «обернет» сервлет. Это более удобно, чем вводить код заголовка непосредственно в ваши сервлеты, что также возможно в ваших doGet() или doPost() методах.)

Другой вариант - поместить обратный прокси-сервер перед веб-сервером, и пусть он добавляет заголовки кэширования на основе URI запроса (или, может быть, для всех запросов POST и т. д.)

С GWT этоочень важно убедиться, что для разных ресурсов установлены правильные заголовки кэширования - см. мой вопрос здесь .В случае сомнений всегда решайте не кэшировать, а затем вводите пошаговое кэширование!

0 голосов
/ 08 июня 2011

Один из вариантов - настроить фильтр, чтобы ваши запросы проходили через него. Там вы можете изменить заголовки ответа.

0 голосов
/ 08 июня 2011

Используете ли вы GWT AJAX (AsyncCallBack и т. Д.)?

если вы просто встраиваете свой модуль GWT в существующую JSP и вызываете методы на стороне сервера через AJAX, то у вас нет доступа к ответуобъект.Каркас GWT заботится об отправке запроса в виде XmlHttpRequest, его возврате и перерисовке DOM браузера.У вас нет точного контроля над ответом.

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