Управление сессиями в gwt

Я использую GWT для своего клиентского приложения. Однако я не уверен, как справиться с управлением сессиями. Приложение GWT находится на одной странице, все серверные вызовы осуществляются через AJAX. Если сеанс истекает на сервере. давайте предположим, что пользователь не закрывал браузер и отправлял какой-либо запрос на сервер с помощью RPC, как мой сервер мог уведомить приложение о том, что сеанс истек и что на стороне клиента снова должен отображаться экран входа в систему? Мой пример кода:

ContactDataServiceAsync contactDataService = GWT
                .create(ContactDataService.class);
        ((ServiceDefTarget) contactDataService).setServiceEntryPoint(GWT
                .getModuleBaseURL()
                + "contactDatas");

        contactDataService.getContact(2,
                new AsyncCallback<ContactData>() {
                    public void onFailure(Throwable caught) {
                                      //code to show error if problem in connection or redirect  to login page

                    }

                    public void onSuccess(ContactData result) {
                        displayContact(result);
                    }
                });

Если сессия истекает только он должен показать экран входа в систему, в противном случае он хочет показать некоторую ошибку с помощью Window.alert ().

Как это сделать и какие все коды нужны на стороне сервера и на стороне клиента?

Ответы на вопрос(3)

Ваш ответ на вопрос