我建议不使用GWT-RPC机制服务器和什么不GWT之间进行通信。原因是,GWT-RPC屏蔽了沟通的细节。它的内部可能会随着你使用的GWT版本而改变。
您应该使用什么取决于服务器应用程序和您的客户端的体系结构。
你可以尝试的是用其他servlet封装GWT servlet,以通用格式(例如XML或JSON)提供数据。这样,你独立于GWT-RPC内部,你不必修改现有的代码(包装器servlet可以放在另一个只引用现有GWT-RPC服务器项目的项目中)。
下面是一个例子:
一个GWT-RPC的Servlet:
public class MyGwtServiceImpl extends RemoteServiceServlet implements MyGwtService {
// Method delivering my task list to GWT client
@Override
public List<Task> getTaskList(final String clientId) {
// Get task list ...
return result;
}
}
}
现在你可以换这个servlet返回JSON或XML:
public class MyJsonServlet extends MyGwtServiceImpl {
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) {
List<Task> result = super.getTaskList(req.getParameter("clientId"));
// Serialize result to JSON and write to OutputStream
}
}
来源
2015-08-26 08:16:08
Bob
如果我得到这个权利,然后我只需编写一些GWT Servlet,可以在一般情况下访问服务器上的数据,并将我需要的servlet包装到一个'Facade'中,该Facade提供了我的Android客户端需要的功能**另外还有** ty,这是否正确?这听起来很有趣,因为目前我为移动客户端提供第二个REST API,而不是重用GWT servlet的功能。 – displayname 2015-08-26 09:13:26
我上面写了一个例子。是的,你也可以在包装servlet中添加额外的功能。 – Bob 2015-08-26 09:27:22
好的!这很好知道!谢谢 :) – displayname 2015-08-26 21:51:01