2013-06-03 2 views
1

GWT RequestFactory를 사용하면 서버 측 호출이 모두 RequestFactoryServlet으로 이루어짐을 이해합니다. 모든 GWT 응용 프로그램을 사용하여 RequestFactory를 작성하여 쿠키를 찾아서 모든 서버 측 호출이 수행되는 기본 URL을 결정하고 싶습니다.GWT RequestFactory 호출을 쿠키 매개 변수화 할 수 있습니까?

그래서 세 가지 다른 IP 주소 (URL)로 매핑 된 3 개의 다른 물리적 서버에있는 3 개의 Tomcat 인스턴스에 3 개의 WAR 파일을 배포했습니다. 각 WAR는 RequestFactoryServlet으로 정의되며 동일한 GWT 클라이언트의 요청을 처리 할 수 ​​있습니다. 다음,

http://red.example.com/RequestFactoryServlet#doGet

만약 widgetType=blue하십시오 widgetType 쿠키 red의 값이있는 경우

는하지만, 클라이언트 측에, 나는 모든 서버 측 요청에 가고 싶다

http://blue.example.com/RequestFactoryServlet#doGet

: 나는 모든 서버 측 요청에 가고 싶다

widgetType=orange 경우에, 나는 모든 서버 측 요청에 가고 싶다 :

http://orange.example.com/RequestFactoryServlet#doGet

그래서, 요약, 클라이언트 측 쿠키 (widgetType)를 결정하는 RequestFactoryServlet에 HTTP 요청이 보내지고 처리되는 WAR/server/URL.

이게 가능합니까? 그렇지 않다면 왜 내가 여기서 할 수있는 일이 있습니까? 그것이 가능하다면, 어떻게 가능합니까 (어떤 코드/테크닉/기타 등을 사용해야합니까?)? 미리 감사드립니다!

답변

3

잠재 원과 동일한 잠재력 문제는 제쳐두고, RequestFactory을 맞춤 설정하여 RequestTransport으로 초기화하면됩니다. 가장 쉬운 방법은 DefaultRequestTransport을 확장하고 쿠키 값에 따라 setRequestUrl을 초기화하는 것입니다.

+0

감사합니다. @Thomas Broyer (+1) - (잠재적 인) 동일 출처 문제가 RequestFactory이거나 브라우저 수준에 존재합니까? (즉, Firefox에서 제대로 작동하지만 허용되지 않습니다. 특정 버전의 IE 등)? 다시 한 번 감사드립니다! – IAmYourFaja

+1

브라우저 수준입니다. http://en.wikipedia.org/wiki/Same_origin_policy 및 http://caniuse.com/cors를 참조하십시오. –

관련 문제