我們有一個Eclipse RAP應用程序,它在Firefox中表現得有點奇怪 - 兩個截然不同的問題。Eclipse RAP - Firefox不會忘記會話
當您瀏覽時,您可以單擊系統某個部分的按鈕。這將打開如下彈出窗口:
IWorkbenchBrowserSupport bs;
bs = PlatformUI.getWorkbench().getBrowserSupport();
int style = IWorkbenchBrowserSupport.AS_EXTERNAL;
IWebBrowser b = bs.createBrowser(style, getRandomID(), "Hello world", "");
b.openURL(new URL(...));
其中URL是應用程序中的另一個servlet。這個servlet處於同一運行時,但與RAP無關 - 它從內存中獲取二進制blob並將其轉儲到輸出流中。
問題1:這會導致HTTP會話在firefox中死掉,並顯示「會話過期」RAP錯誤頁面,並顯示鏈接以重新啓動會話。
問題2:現在,當您單擊鏈接重新啓動會話時,它會再次顯示應用程序對話框,但會話過期錯誤會在您做任何事情時再次顯示。這可以防止用戶再次使用系統,除非Firefox完全關閉並重新啓動。用FireBug快速瀏覽一下,發現通過Firefox的JSESSIONID不會改變。
有沒有人見過這個?