我正在使用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()显示一些错误信息。如何实现这个功能,需要在服务端和客户端都添加哪些代码?