使用我的自定义Servlet的GWT RPC机制

Itt*_*tai 1 java gwt asynchronous servlets gwt-rpc

我目前有一个GWT应用程序,它使用它将RequestBuilde消息发送到我拥有的servlet(使用POSTGET),并且我的servlet(in doPostdoGet)"暂停"请求(这是通过使用Servlets 3.0规范完成的)并将其添加到队列中.
另外,我有一个守护程序线程,它在后台运行,并在有新数据时"播放"请求.
这对我来说很有用,除了我现在只是发送字符串这个事实,我想利用RPC机制发送对象.
我的问题是这样的:
如果我创建我的myServiceImpl课程, 我RemoteServiceServlet应该如何处理doPost,doGet如果有的话?
我需要暂停我的请求以利用异步支持,应该在哪里完成?我虽然可能this.getThreadLocalRequest()myServiceImpl课堂上调用我的RPC方法中的方法,但我不确定它会有多么明智.
我不确定我是否理解GWT如何处理来自该异步接口的客户端的调用.有没有机会调用doGetservlet的例子,并确保它调用所需的RPC方法?
对不起,如果我搞得一团糟,那就是我无法找到更详细的技术信息,正如RPC业务的工作方式.
欣赏任何借贷手
Ittai

Hil*_*amp 5

要理解RPC忘记POST和GET它的工作方式不同(从编程的角度来看.在内部它确实使用它,但你没有看到或不需要理解它,除非你想做一些异国情调).RPC的一个很好的起点是GWT文档:http://code.google.com/webtoolkit/tutorials/1.6/RPC.html

给你一个总结.当使用RPC时,你的servlet myServiceImpl需要实现名为的接口的方法myService,除了扩展RemoveServiceServlet.这些方法将您要发送到服务器的数据作为参数.

myService界面旁边,您需要创建一个myServiceAsync接口(两个接口都应该在客户端子包中).此myServiceAsync接口应包含与myService接口相同的方法,除了每个方法返回void并具有附加的最后一个参数AsyncCallback callback.

在您的客户端中,您需要检测GWT以通过GWT.create生成RPC(有关详细信息,请参阅文档).

要使用RPC,请myServiceAsync在客户端代码中调用接口上的方法,GWT负责将其发送到servlet.然后,servlet将使用您在客户端上传递的参数调用匹配方法.这是异步完成的.因此客户端直接从呼叫返回.

当服务器发送结果回你通过回调myServiceAsync使用或OnErrorOnSuccess叫.OnError如果服务器端的方法引发错误,否则OnSuccess.该OnSuccess会作为参数,从你在用你的servlet实现该方法返回的返回值.