在我的GWT应用程序中,我试图在用户关闭浏览器时清除会话。
我正在做的是关闭Handler调用rpc使会话无效, 但rpc调用从未发生过,浏览器关闭。 如果有任何其他解决方案
Window.addWindowClosingHandler(new ClosingHandler(){
@Override
public void onWindowClosing(ClosingEvent event) {
signOut();
}
});
public void signOut() {
rpcService.signOut(new AsyncCallback<String>(){
@Override
public void onFailure(Throwable caught) {
}
@Override
public void onSuccess(String result) {
History.newItem("login");
}});
}
public String signOut(){
session = request.getSession();
session.invalidate();
return "loggedout";
}
答案 0 :(得分:0)
它应该工作。试试
Window.addCloseHandler(new CloseHandler<Window>() {
@Override
public void onClose(CloseEvent<Window> event) {
}
});
AFAIK不要使用Window.addWindowClosingHandler
因为即使你关闭弹出窗口也会调用它。浏览器关闭时调用“Window.addCloseHandler”。