我正在開發一個使用GXT,Hibernate,mysql等的Web應用程序。應用程序有一個登錄頁面。實際上,當會話過期時,我遇到了設置登錄頁面的問題。我們可以在web.xml文件中設置超時時間,但在這種情況下,我們不能重定向到登錄頁面。可以告訴我如何實現這一點。GXT:如何在會話過期時引入登錄頁面
5
A
回答
2
我用當會話過期時在服務器端拋出異常的概念,然後試圖在客戶端捕獲異常。我不知道是否有更好的方法來做到這一點。
2
你不能做一個服務器端重定向,因爲應用程序完全是AJAX。你可以做的是使用GWT Timer類,並且爲你的每一個RPC調用檢查/重置定時器。如果「會話」過期,則通過歷史令牌重定向到登錄頁面。這是最簡單的辦法,我
一些其他閱讀:
2
在服務器端,您可以檢查會話是否過期,如果是,則拋出自定義異常。 在客戶端,在每次異步調用時,都會檢查這種已知情況並對其做出反應。您可以創建AsyncCallback
一個抽象類,你將繼承每個GWT RPC調用:
public abstract class SessionExpiredAwareAsyncCallback<T> implements AsyncCallback<T> {
@Override
public void onSuccess(T returnObject) {
doOnSuccess(returnObject);
}
@Override
public void onFailure(Throwable exception) {
if (exception instanceof SessionExpiredException) {
goToLoginPage();
} else {
doOnFailure(exception);
}
}
public abstract doOnSuccess(T returnObject);
public abstract doOnFailure(Throwable exception);
}
1
您可以使用gwteventservice從服務器到客戶端觸發一個事件。
相關問題
- 1. 如何移動到登錄頁面,如果會話過期
- 2. 會話到期時通過AJAX導航到登錄頁面
- 3. 當會話過期時,ASP.NET MVC重定向到登錄頁面
- 4. 在會話過期後重定向到登錄頁面
- 5. 會話登錄頁面
- 6. 會話在Backbone.js中過期後,如何自動重定向到登錄頁面?
- 7. Symfony重定向到會話過期後的登錄頁面
- 8. 會話過期並重定向到登錄頁面後清除登錄字段?
- 9. 在Ajax調用中會話過期時避免顯示登錄頁面
- 10. 過期的登錄頁面
- 11. 如何獲取Facebook頁面的頁面登錄access_token,該頁面不會過期?
- 12. redict在會話過期後登錄
- 13. 會話停留在登錄頁面
- 14. 如何在用戶會話過期時重定向到頁面?
- 15. 登錄頁面不會在過濾器
- 16. 如何在會話超時時在登錄頁面中顯示錯誤消息
- 17. Cordova和Django登錄,會話過期
- 18. 會話過期,請重新登錄
- 19. 如何在html中爲登錄頁面創建會話
- 20. 如何在會話過期時禁用重定向到JBoss中的登錄頁面?
- 21. 當會話cookie在Django中過期時重定向到登錄
- 22. 會話超時重定向到登錄頁面在Silverlight
- 23. 我想在登出後刷新登錄頁面時顯示會話過期消息
- 24. 如何在JSP登錄頁面創建密碼過期驗證?
- 25. 會話過期後JSF重定向到登錄頁面拋出ViewExpiredException
- 26. 會話過期後重定向到登錄頁面的最佳做法
- 27. 如何在jsp會話超時後重定向到登錄頁面?
- 28. 「如何檢測會話超時並重定向到登錄頁面在ASP.NET中」
- 29. Selenium會話過期後如何管理登錄窗口
- 30. 如何重定向到登錄頁面是會話experies