到目前为止,我正在为服务器端请求使用 GWT RPC 调用,这非常好。我计划将我的代码分成 Servlet 和 GWT 客户端。由于我正在使用 RPC 调用,这似乎是不可能的。我想这样做的原因是,我打算为我的应用程序提供白标选项。因此,如果我可以将代码与客户端代码和 servlet 分开,我可以简单地将白标客户端代码提供给我的合作伙伴以托管在他们的服务器上。我已经检查过 GWT RequestBuilderAccess-Control Allow-Origin : Origin from Client Header
并且它工作正常。
但是我需要在 RequestBuilder 请求和 Servlet 响应上实现 gwt 序列化。我怎样才能做到这一点 ..?
我喜欢制作的场景:
RequestBuilder 将 Serializable String(它是一个
IsSerialiazible
对象)发送到 Servlet。Servlet 将字符串反序列化为 Java 对象,处理并返回“IsSeraliazable”对象的字符串响应。
在 GWT RequestBuilder 中收到的响应字符串将其反序列化回 Java 对象(编译后的 JS)。
我检查了 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);
}