Чтобы понять RPC, забудьте о POST и GET, он работает по-другому (то есть с точки зрения программирования. Внутренне он использует его, но вы не видите или не должны его понимать, если не хотите сделать что-то экзотическое). Хорошей отправной точкой для RPC является документация GWT: http://code.google.com/webtoolkit/tutorials/1.6/RPC.html
Чтобы дать вам резюме. При использовании RPC ваш сервлет myServiceImpl
должен реализовать методы интерфейса с именем myService
, помимо расширения RemoveServiceServlet
. Методы получают в качестве аргументов данные, которые вы хотите отправить на сервер.
Рядом с интерфейсом myService
необходимо создать интерфейс myServiceAsync
(оба интерфейса должны быть в клиентском подпакете). Этот myServiceAsync
интерфейс должен содержать те же методы, что и интерфейс myService
, за исключением того, что каждый метод возвращает void
и имеет дополнительный последний аргумент AsyncCallback callback
.
В вашем клиенте вам необходимо использовать инструмент GWT для генерации RPC через GWT.create (подробности см. В документации.
Чтобы использовать RPC, вызовите методы интерфейса myServiceAsync
в вашем клиентском коде, и GWT позаботится об отправке его сервлету. Затем сервлет вызовет соответствующий метод с аргументами, которые вы передали клиенту. Это делается асинхронно. Таким образом, клиент возвращается прямо с звонка.
Когда сервер отправляет результат обратно, обратный вызов, который вы передали myServiceAsync
, используется или вызывается OnError
или OnSuccess
. OnError
если метод на стороне сервера выдал ошибку, иначе OnSuccess
. OnSuccess
будет иметь в качестве аргумента возвращаемое значение из того, что вы вернули в методе, реализованном вашим сервлетом.