2009-07-29 2 views
0

Firefox에서 이상하게 작동하는 Eclipse RAP 애플리케이션이 있습니다. 두 가지 뚜렷한 문제가 있습니다.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은 응용 프로그램의 다른 서블릿입니다. 이 서블릿은 동일한 런타임에 있지만 RAP와는 아무런 관련이 없습니다. 메모리 내 저장소에서 이진 Blob을 가져 와서 출력 스트림에서 덤프합니다.

문제 1 : 이로 인해 HTTP 세션이 firefox에서 종료되고 세션을 다시 시작할 수있는 링크가있는 "세션 만료"RAP 오류 페이지가 표시됩니다.

문제점 2 : 이제 세션을 다시 시작하기 위해 링크를 클릭하면 응용 프로그램의 대화 상자가 다시 표시되지만 아무 것도하지 않으면 세션 만료 오류가 다시 표시됩니다. 이렇게하면 Firefox가 완전히 종료되고 다시 시작되지 않는 한 사용자가 시스템을 다시 사용할 수 없게됩니다. FireBug를 빠르게 살펴보면 Firefox에서 전달한 JSESSIONID가 변경되지 않는다는 것을 알 수 있습니다.

이전에 본 사람이 있습니까?

답변

0

RAP 응용 프로그램이 현재 HTTP 서블릿 컨텍스트 내부의 응용 프로그램 자체에서 서블릿을 가리키는 팝업 창을 열면 세션이 종료되는 것으로 나타났습니다. 해당 서블릿에 대해 더미 HTTP 컨텍스트를 만들어서 수정했습니다.

0

출력 스트림으로의 덤프 시간은 얼마나됩니까? 타임 아웃이 발생할 수 있습니까? RAP에서 Javascript 호출을 사용하기 때문에 정상 시간 초과 시간보다 훨씬 짧을 수 있습니다.

문제 2 : Firefox는 많은 것을 캐시합니다. Javascript 실행이 중단되면 이러한 문제가 발생할 수 있습니다.

다른 브라우저에도 이러한 문제가 있습니까? 내부 브라우저 (또는 다른 렌더링 엔진이있는 다른 브라우저)로 확인하는 것이 좋습니다.

관련 문제