图 7. GWT 远程服务

您必须填写 Name(这是 Java 服务器端类的实际名称)和 Extended interfaces 服务 URI(这是客户机将实际调用的服务器端 URL)。然后单击 Finish 并让 Cypal Studio 执行一些任务。
Cypal Studio 将为您创建三个文件。在 client 包中,它将创建 NumberGenerator.java,这是此远程连接的主接口,如清单 3 所示:
清单 3. NumberGenerator.javapublic interface NumberGenerator extends RemoteService { public static final String SERVICE_URI = "/numbergenerator"; public static class Util { public static NumberGeneratorAsync getInstance() { NumberGeneratorAsync instance = (NumberGeneratorAsync) GWT .create(NumberGenerator.class); ServiceDefTarget target = (ServiceDefTarget) instance; target.setServiceEntryPoint(GWT.getModuleBaseURL() + SERVICE_URI); return instance; } } }
注意,该文件此时是一个空接口,但是 Cypal Studio 已经创建了实用程序对象以返回适用于远程调用的 GWT 完全认证的实例。
该实用程序的返回值实际上属于 NumberGeneratorAsync 类型,这是主接口的异步版本。主接口的每种方法在异步接口中都有相匹配的条目,但是附带了 void 返回类型和 AsyncCallback 类的附加参数。当您从客户机页面调用这段代码时,实际上使用的是异步接口,然后 GWT 将把它转换为服务器端将看到的主接口。然后,使用 AsyncCallback 对象对服务器响应执行一些实际操作。
(编辑:aniston)
|