java - GWT RPC - 多个 RPC 服务

标签 java gwt servlets rpc

我遇到了将大型 RPC 服务拆分为较小块的问题。我在这里找到了基础知识GWT RPC - Multiple RPC Services Per App ,但我在实现方面遇到了困难。我在任何地方都找不到任何好的指南。我对以下部分感到困惑。 (目标是将一个大型 RPC 拆分为两个较小的 RPC)

  1. 我在模块 xml 文件中创建一个 servlet 类

  2. 在 web.xml 中,我创建了一个 servlet 和一个带有 2 个 servlet-url 的 servlet 映射。第一个 servlet 是“主 servlet”,与模块 xml 文件中的相同。第二个是身份验证 servlet。

  3. 我有两个 servlet 的同步和异步接口(interface)以及两个 servlet 的服务器端实现。

  4. 我使用 GWT.create() 在代码中创建 servlet。我可以毫无问题地调用“主 servlet”中的方法。但我无法调用身份验证 servlet 中的方法。当我尝试此操作时,出现以下错误:

[ERROR] [project] - Unable to load module entry point class com.projects.client.Project (see associated exception for details)

com.google.gwt.user.client.rpc.ServiceDefTarget$NoServiceEntryPointSpecifiedException: Service implementation URL not specified
at com.google.gwt.user.client.rpc.impl.RemoteServiceProxy.doPrepareRequestBuilderImpl(RemoteServiceProxy.java:430)
at com.google.gwt.user.client.rpc.impl.RemoteServiceProxy.doInvoke(RemoteServiceProxy.java:368)
at com.google.gwt.user.client.rpc.impl.RemoteServiceProxy$ServiceHelper.finish(RemoteServiceProxy.java:74)
at com.projects.client.AuthService_Proxy.signIn(AuthService_Proxy.java:44)
at com.projects.client.Authentication.signIn(Authentication.java:38)
at com.projects.client.Project.onModuleLoad(Project.java:53)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)

15:48:13.877 [ERROR] [project] Failed to load module 'project' from user agent 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11' at 127.0.0.1:2588**

最佳答案

来自您的链接:

I believe I'd have to make a new servlet for each one.

不一定。

也就是说,是的,您可以只使用一个 servlet 来处理所有接口(interface),但这不是必需的。您当然可能只有一个实现所有给定接口(interface)的 servlet,但只要每个 RPC 接口(interface)都有一个 @RemoteServiceRelativePath指向不同的 URL,每个 URL 都映射到您的 web.xml 中对于不同的 servlet,每个 servlet 只需实现指向它的一个接口(interface)。

关于java - GWT RPC - 多个 RPC 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14124186/

相关文章:

java - 如何使用 apex 为 apex 调度程序创建自定义对象? (编译错误: Comparison arguments must be compatible types)

java - HTML 部署中的 LibGDX 未捕获运行时异常

gwt - 如何使用 GWT 获取单元格表中的单元格值

java - Eclipse jar 在项目类路径上发生冲突

java - 为什么 Servlet.service 被设计为返回 void?

java - 什么时候使用 GenericServlet 而不是 HttpServlet?

java - 包装方法时编译错误引发异常

java - 更改 JTextField 格式

java - Android 创建多选列表

java - JSP 页面模板布局