Управление сессиями в 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 ().
Как это сделать и какие все коды нужны на стороне сервера и на стороне клиента?