Получение количества обновлений на стороне сервера веб-приложения GWT - PullRequest
1 голос
/ 13 июля 2009

Я работаю над преобразованием функциональности некоторых страниц JSP в GWT. Я заметил, что запрос javax.servlet.http.HttpServletRequest является подразумеваемым объектом в JSP, и можно получить счетчик обновлений клиента, вызвав request.getParameter ("refreshCount"). Я заметил, что можно также получить доступ к этому объекту запроса в GWT в классе реализации сервиса (расширяет RemoteServiceServlet) для клиента, выполняющего вызов RPC для этого класса сервиса, вызывая getThreadLocalRequest (). Однако я заметил, что у объекта запроса нет параметров. Как я могу получить количество обновлений вызывающего клиента (через HttpServletRequest или другим способом)?

1 Ответ

4 голосов
/ 13 июля 2009

Я не думаю, что getParameter ("refreshCount") - это автоматическая функция сервлетов. Похоже, что он просто получает значение параметра refreshCount в строке запроса (URL). Скорее всего, какая-то другая часть вашего кода устанавливает это значение.

Даже если он отслеживается автоматически классом Servlet, для этого потребуется сохранение состояния сеанса для этого клиента. Вызовы GWT RPC не имеют встроенной функциональности сеанса. Так что если вы хотите сделать это, у вас есть два варианта:

  • Вы можете поддерживать «счетчик обновлений» переменная в клиенте, и передать ее к вашему методу RPC в качестве параметра.
  • Вы можете передать какой-то идентификатор сеанса в каждый из ваших вызовов методов RPC, и отслеживать количество обновлений на серверная сторона. Это может потребовать сохранение сеанса в базе данных, или в некоторой глобальной структуре памяти.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...