问题标签 [gwt-rpc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
217 浏览

gwt - GWT .client 和 .server

我想问一下 .client 文件中有什么,GWT 的 .server 文件中有什么?我遵循了几个教程,要求我将此代码粘贴到 .server 和 .client 文件中,但不确定这些文件的用途?它还涉及一个 XML 文件和 CSS 文件。有谁知道这些文件如何相互交互?谁能解释一下?

如果是这样,我们是否还可以控制缓存到客户端的内容以及发送到服务器以检索数据的请求?

0 投票
1 回答
157 浏览

java - 无法让 GWT-RPC 正常工作

我正在尝试为我的 GWT 项目准备一些服务器端的东西。作为测试,我尝试将 GWT 运行时不支持的 com.sun.jmx.snmp.SnmpOid 对象添加到我的 GreetingServiceImpl.java (每个 GWT 项目生成的文件)中,但它仍然在说它不受支持。

我完成了RPC GWT 教程,当我将相同的代码复制到该项目 GreetingServiceImpl 中时,它运行良好。

我觉得我在 XML 文件中缺少引用或行。我已经彻底比较了这两个项目,但找不到任何差异。

任何帮助,将不胜感激。

确切的错误:com.sun.jmx.snmp.SnmpOid is not supported by Google App Engine's Java runtime environment

0 投票
2 回答
6537 浏览

session - GWT:将会话 ID 存储在 cookie 中,然后呢?

我目前正在使用 GWT 制作一个网站,托管在 AppEngine 上。我正在使用自己正在制作的登录信息(我知道 Google 提供了一些带有 GWT 的东西,但我需要我自己的登录系统),而且我已经尝试找出会话已有一段时间了。我找到了一些教程,我正在阅读的网站之一是http://code.google.com/p/google-web-toolkit-incubator/wiki/LoginSecurityFAQ

那里有一个关于“如何记住登录”的部分。我知道如何通过 RPC 调用获取会话 ID 并将其存储在客户端的 cookie 中。我不明白的是,最终在一天左右之后,用户回来了,我应该从 cookie 中获取会话 ID 并将其发送回服务器。为了安全地评估会话 ID 是否仍然合法,并提取有关用户的所有必要信息,我应该在服务器上做什么?

其他问题: 1. 什么会使会话 ID 发生变化?2. 如果用户在笔记本电脑上,而用户去了其他地方怎么办。他是否仍然能够安全地重新登录而无需再次输入他的登录名和密码?

谢谢!

~斯科特

0 投票
1 回答
1647 浏览

gwt - HttpSession 在调用 Servlet 和 GWT RPC Servlet (RemoteServiceServlet) 之间发生变化

我有一个 GWT 应用程序,我想在 Joomla 布局中运行它。这个概念似乎工作正常,应用程序正确加载。Joomla 使用 iFrame 来实现这一点,只需发送将启动 GWT 应用程序的 url。

我遇到的问题是我需要来自 Joomla 的某些信息,我将这些信息作为 url 中的参数传递。由于 GWT 应用程序是从 HTML 页面启动的,因此我无法访问这些参数,因此我向 Servlet 发出请求,其想法是我可以获取这些参数,将其保存在会话中,然后提供GWT 应用程序 HTML 页面。

这个概念很好用。我获取参数,将它们放入一个映射中,该映射进入一个基本 bean,然后我将 bean 存储为带有代码的会话属性:

然后 Servlet 提供 GWT HTML 页面,该页面反过来加载应用程序,它做的第一件事就是触发 RPC 调用。我遇到的问题是在我的 RemoteServiceServlet 处理该调用时,我尝试使用以下代码获取我的 SessionBean:

我得到空值,仔细观察发现它实际上已经创建了一个新会话。我通过比较两个会话的 id 知道这一点。任何后续的 RPC 调用都可以访问最后一个会话,但我存储 SessionBean 的那个已经消失了!

它是一个已部署的 war 文件,启用了 cookie,并且在开发和生产模式下都以这种方式运行。

我想我可能误解了会话的处理方式!关于 GWT RPC 调用为何创建新会话的任何想法?或者,如果我完全错了,如何将这些需要的参数放入会话中?

任何帮助或想法将不胜感激!

提前致谢!

尚德尔

0 投票
1 回答
1677 浏览

java - 子类的 GWT 序列化

我有 RPC 服务,它返回一个 GameEvent 类型的对象,该对象从 Event(抽象)扩展。当我在客户端获取对象时,从 Event (eventId、copyEventId、gameTimeGMT) 继承的所有属性都设置为,null而在服务器端,这些属性具有值。

更新:我使用 gwt-platform 框架(MVP 实现)。这是对服务客户端的调用。result.getGE()返回 GameEvent 对象,但带有属性null

动作处理程序:

结果:

0 投票
1 回答
871 浏览

google-app-engine - 如何在 GWT 中使用 GAE Blobstore Java API?

我有 GAE 应用程序,我想从 Blobstore 下载 CSV 文件并使用 GWT 将其显示在表中。有没有例子说明如何做到这一点?

0 投票
1 回答
1920 浏览

google-app-engine - 没有与此 URL 匹配的处理程序 -- URL 指向 GWT 文件

我经常在我的 Google App Engine for Java 警告控制台中收到此警告。这很奇怪,因为它声称未处理的 URL 是 GWT 生成的 url(我使用 GWT 客户端)。

下面是一个示例:/myAppName/62865E45F313D707543A6F093D199127.cache.html

它们只是偶尔发生,但足以使一次访问毫无用处。

0 投票
3 回答
887 浏览

gwt - GWT 可视化最佳实践

我是 Google Visualization for GWT 的新手,我需要帮助。有人能告诉我使用 GWT RPC 传输 DataTable(可视化数据)的最佳实践吗?原因 DataTable 不可序列化,而且我有很多数据。我想使用 GWT RPC,因为我在服务器端使用 Java。我知道可视化包中有 DataTable.toJson 方法,但它尚未包装到 gwt.visualization 包中。我自己尝试用 JSNI 将它包装到我的 GWT 代码中,但没有成功。有没有人成功,或者有什么不同的方法来解决这个问题。

谢谢

0 投票
1 回答
1087 浏览

json - 从 Java 对象生成 GWT Overlay 类型

我们目前正在使用 GWT RPC 在 GWT 项目上进行序列化,但我们目前正在维护两组对象 - 我们需要转换以供数据库检索/保存的对象以及对 GWT RPC 安全的对象版本序列化(无枚举/大十进制等)。

我们花费了大量精力编写代码,这些代码只是从一种格式转换为另一种格式。此外,对数据模型进行任何更改都非常痛苦,因为它必须在两个地方进行更改。

我在想我们可以结合使用Spring 3.0 MVC 和 Jackson来用 JSON 调用替换 RPC 调用。如果我们为 GWT 构建 JavaScript 对象来保存这个 JSON 数据,那么它将不需要任何属性转换代码。然而,我们仍然需要维护两组对象——一组 JavaScriptObject 用于客户端代码和服务器端表示。

为了消除这一层,获取一个 Java 对象并让它生成一个 GWT JavaScriptObject,其中暴露了 JSNI getter/setter。那里有可以自动执行此操作的库吗?

0 投票
4 回答
1651 浏览

gwt - GWT RPC 和持久性 Java 对象

首先,

非常感谢 Craig 在下面提供的出色答案,我在搜索原始问题时发现它非常有用... 参考:GWT 简单 RPC 用例问题:包含代码

在此解决方案的基础上,如果我按照 Craig 的建议将我的可持久对象留在/shared文件夹中,如何克服(看似 GWT 的限制) ......并按照 GWT 教程的建议对其进行注释......

GWT 似乎无法在客户端处理/导入 com.google.appengine.datastore.key?

我见过一些丑陋的黑客......但没有什么优雅的。

欢迎任何建议,谢谢