【问题标题】:GWT sharing services between several modulesGWT 在多个模块之间共享服务
【发布时间】:2024-01-18 14:57:01
【问题描述】:

我有一个项目,根据用户角色,他在登录后立即被重定向到完全不同的 UI。我计划将项目结构分成几个 GWT 模块,如下所示:

1. Base module 
2. Login module 
3. Module for role1 
4. Module for role2 
...

我将拥有除Login module 之外的所有模块扩展Base module,我将在其中存储我在任何地方都需要的通用UI 组件。 (比如个人资料编辑和类似的东西)。 Login module 将像引导加载程序一样工作,其任务只是在用户取消验证后立即加载正确的模块。

问题在于,GWT 模块调用的所有服务器端服务对于所有模块来说几乎都是相同的。我有很多查找信息提供服务,在许多其他情况下,一个用户只需填写信息,另一个负责审核,所以它也是相同的服务。

据我了解,GWT 使用 urls 模式调用服务器,如下所示:gwtModuleName/myServiceUrl 所以在某种程度上服务依赖于 gwt 模块。如何在多个 GWT 模块之间“共享”单个服务?

【问题讨论】:

    标签: gwt gwt-mvp


    【解决方案1】:

    非常简单,只需将所有客户端服务文件放在基本模块中即可:

    com.proj.client.base com.proj.client.base.request --- 我的服务 --- 我的服务异步 com.proj.client.modA com.proj.client.modB

    com.proj.server.request -- MyServiceImpl

    我对一个包含 10 多个模块的单个应用程序使用类似的结构,这些模块都共享相同的服务。

    只需从不同模块中导入服务

    【讨论】: