gwt客户端会话超时

gwt客户端会话超时,gwt,smartgwt,gwt-ext,gwt-platform,Gwt,Smartgwt,Gwt Ext,Gwt Platform,我将gwt 2.3与gwtp框架一起使用。在此应用程序中,我希望保持5分钟的会话时间。这意味着,如果当前用户的会话时间不超过5分钟,而他在5分钟后出现,那么在屏幕a上的第一个事件/操作中,他应该被注销。 在gwt中,有一个名为Timer的类可以用于此问题。但我不知道如何识别屏幕上用户的操作。我在它上做了谷歌搜索,并找到了gwt-ext的代码。下面是gwt-ext的代码 Ext.get(“pagePanel”).addListener(“click”, new EventCallback() {

我将gwt 2.3与gwtp框架一起使用。在此应用程序中,我希望保持5分钟的会话时间。这意味着,如果当前用户的会话时间不超过5分钟,而他在5分钟后出现,那么在屏幕a上的第一个事件/操作中,他应该被注销。 在gwt中,有一个名为Timer的类可以用于此问题。但我不知道如何识别屏幕上用户的操作。我在它上做了谷歌搜索,并找到了gwt-ext的代码。下面是gwt-ext的代码

Ext.get(“pagePanel”).addListener(“click”, new EventCallback() {
    @Override
    public void execute(EventObject e) {
        MessageBox.alert(“On Mouse Click”);
    }
});

Ext.get(“pagePanel”).addListener(“keydown”, new EventCallback() {

    @Override
    public void execute(EventObject e) { 
        MessageBox.alert(“On Key Press Click”);
    }
});
在上面的代码标签在正常工作,所以我附加的链接,我从那里得到了这个代码


我在gwt中查找的代码类型相同。如果有其他更好的方法,请告诉我。提前感谢

如果行动/事件真的可以解决一切,我会用

NativePreviewHandler
按以下方式:

boolean expired;

final Timer logoutTimer = new Timer() {
    @Override
    public void run() {
        expired = true;
    }
};

NativePreviewHandler nph = new NativePreviewHandler() {

    @Override
    public void onPreviewNativeEvent(NativePreviewEvent event) {
        if (!expired) {
            logoutTimer.cancel();
            logoutTimer.schedule(300000);
        } else {
            // do your logout stuff here
        }
    }
};

Event.addNativePreviewHandler(nph);
如果用户shell在5分钟后未执行新操作即被注销:

final Timer logoutTimer = new Timer() {
    @Override
    public void run() {
        // do your logout stuff here
    }
};

NativePreviewHandler nph = new NativePreviewHandler() {

    @Override
    public void onPreviewNativeEvent(NativePreviewEvent event) {
        // Of course do this only when logged in:
        logoutTimer.cancel();
        logoutTimer.schedule(300000);
    }
};

Event.addNativePreviewHandler(nph);

@是否有其他方法来处理客户端会话