2012-10-10 2 views
2

지금까지 서버 측 요청 용 GWT RPC 호출을 사용하고 있습니다. 내 코드를 서블릿과 GWT 클라이언트 측으로 분리 할 계획입니다. RPC 호출을 사용하고 있기 때문에 불가능한 것처럼 보입니다. 이유는 내가 이렇게하고 싶어, 나는 내 애플 리케이션을위한 화이트 라벨 옵션을 제공 할 계획이다. 따라서 코드를 클라이언트 코드와 서블릿으로 구분할 수 있다면 파트너에게 White Labeled 클라이언트 코드를 제공하여 해당 서버에서 호스팅 할 수 있습니다. GWT RequestBuilder와 Access-Control Allow-Origin : Origin from Client Header을 확인했는데 정상적으로 작동합니다.RequestBuilder 및 서블릿에서 GWT 직렬화를 사용하는 방법

그러나 RequestBuilder 요청 및 서블릿 응답을 통해 gwt- 직렬화를 구현해야합니다. 내가 어떻게 이럴 수 .. ..?

시나리오를 걸 좋아 :

  1. RequestBuilder는 서블릿에 (A IsSerialiazible 객체이다) 직렬화 문자열을 전송.

  2. 서블릿은 문자열을 Java 객체, 프로세스로 역 직렬화하고 'IsSerialiazable'객체의 문자열 응답을 반환합니다.

  3. GWT RequestBuilder에서 수신 된 응답 문자열은 다시 Java 객체 (컴파일 후 JS)로 deserialize됩니다.

RemoteServiceServlet 클래스에서 요청 및 응답 직렬화 및 비 직렬화에 대한 정보가있는 것으로 확인되었습니다. 하지만 RequestBuilder와 함께 작동 시키려면 제대로 사용할 수 없습니다. 어떤 아이디어, 모두에게 도움이되기를 바랍니다.

public final void processPost(HttpServletRequest request,HttpServletResponse response) 
    throws IOException, ServletException,SerializationException 
    { 
     // Read the request fully. 
     // 
     String requestPayload = readContent(request); 

     // Let subclasses see the serialized request. 
     // 
     onBeforeRequestDeserialized(requestPayload); 

     // Invoke the core dispatching logic, which returns the serialized 
     // result. 
     // 
     String responsePayload = processCall(requestPayload); 

     // Let subclasses see the serialized response. 
     // 
     onAfterResponseSerialized(responsePayload); 

     // Write the response. 
     // 
     writeResponse(request, response, responsePayload); 
    } 
+0

해결 방법을 제공하지 않았습니다. 어떻게 받아 들일 수 있습니까? 사실 몇 가지 잘못된 사실을 제시했습니다. [GWT Request Builder - 정적 리소스에 대한 요청으로 데이터 가져 오기에도 사용할 수 있습니다.] 내 질문은 분명하다, 난 그냥 알고리즘 또는 GWT 직렬화에 대한 자바 및 js 소스 싶어요. 당신은 그 대답에 정말로 확신합니까? –

+0

내 의견의 두 번째 줄을 읽으십시오. 커뮤니티가 귀하의 연구 결과를 통해 얻을 수있는 정보가 있다면 업데이트를 게시하십시오. 또한 RPC는 RequestBuilder를 기반으로 구축되지 않습니다. 적대적인 태도를 취할 필요가 없습니다 !!!! – SSR

+0

친구 나는 적대적이 아니며, 나에게 어떤 대답도받지 못했거나 공동체가 받아 들일 수 있지만, 당신은 내가 당신의 대답을 받아들이도록 강요하고 있습니다. 정말 옳은가 ..? 이 링크를 사용해보십시오. https://groups.google.com/forum/?fromgroups=#!topic/google-web-toolkit/rR71s0wwQRo –

답변

0

GWT 직렬화 & 직렬화 복원 소스를 얻으려고합니다. 불행히도, 나는 다른 작품들과 붙어있어 지금 당장이를 보지 못했습니다. GWT 직렬화 클래스를 얻으면 업데이트 할 것입니다.

1

GWT RPC와 RequestBuilder는 다른 용도로 사용됩니다. 우리는 그들을 섞거나 일치시킬 수 없습니다.

GWT RPC - 데이터

가져 오기 서비스

GWT 요청 빌더 - JS, CSS, JSON 객체와 같은 정적 자원에 대한 화재 요청, 질의 비누 서비스 등

내 마음의 상단에있는 유일한 가능한 솔루션 요청 처리 방법은 JSON을 사용하는 것입니다. - https://developers.google.com/web-toolkit/doc/latest/tutorial/JSON

서블릿 코드를 그대로 유지 한 다음 RequestBuilder를 사용하여 JSON 개체에 대해이 서블릿에 매핑 된 URL을 쿼리 할 수 ​​있습니다. JSON 또는 오버레이 개념을 사용하여 JSON 객체를 처리합니다.

+0

RPC와 RequestBuilder가 다르지만 RPC가 내부적으로 RequestBuilder를 사용하므로 POST 데이터를 다음과 같이 보내야합니다. GWt RequestBuilder에서 직렬화 된 데이터. 그래서 저는 GWT의 두 기능 (ReqBuilder와 GWT Serialization)을 사용하기를 원합니다. 나는 GWT의 소스를 탐색하려고 노력하고 있는데, 왜 내가 시간을 들여서 다른 작품들과도 어울리지 않는지. 그게 내가 대답 할 시간을 갖는 이유입니다. 곧 답장을 보내 드리겠습니다 –

+0

CORS에서도 GWT RequestBuilder와 함께 JSON을 이미 사용하고 있습니다.하지만 GWT 직렬화를 사용하고 싶습니다. 예를 들어 POST 매개 변수를 HTTP (일반 텍스트)와 비 직렬화로 직렬화했습니다. –

관련 문제