GWT:关闭浏览器时如何关闭会话

时间:2013-05-29 06:37:55

标签: gwt

在我的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";

}

1 个答案:

答案 0 :(得分:0)

它应该工作。试试

Window.addCloseHandler(new CloseHandler<Window>() {
            @Override
            public void onClose(CloseEvent<Window> event) {

               }
        });

AFAIK不要使用Window.addWindowClosingHandler因为即使你关闭弹出窗口也会调用它。浏览器关闭时调用“Window.addCloseHandler”。