RemoteServiceServlet 和 RemoteService 有什么区别?

2024-03-27

我知道第一个是类,第二个是接口,但重点是, 为什么客户服务应该扩展远程服务并为服务实现类扩展远程服务Servlet

那么幕后到底是什么?


您正在尝试比较苹果和橙子。请阅读docs https://developers.google.com/web-toolkit/doc/latest/DevGuideServerCommunication#DevGuideRemoteProcedureCalls并制作任何简单的演示project https://www.google.by/#q=gwt+rpc+example清楚地理解这些概念。

远程服务是客户端RPC接口应该扩展的接口。和远程服务Servlet是服务器上 RPC 服务实现的 servlet 基类。它反序列化来自客户端的请求并序列化传出的响应。

要使用 RPC,您需要在中创建和定义client包自己的接口应该扩展远程服务 http://google-web-toolkit.googlecode.com/svn/javadoc/2.5/com/google/gwt/user/client/rpc/RemoteService.html接口并指定服务器应实现的方法。

package com.yourproject.client;

import com.google.gwt.user.client.rpc.RemoteService;

public interface CustomInfoService extends RemoteService {
    Info getInfo(String infoId);
}

然后您需要在服务器端提供该接口的实现。这应该是一个servletserver扩展包远程服务Servlet http://google-web-toolkit.googlecode.com/svn/javadoc/2.5/com/google/gwt/user/server/rpc/RemoteServiceServlet.html并实施CustomInfoService.

package com.yourproject.server;

import com.yourproject.client.CustomInfoService;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;

public class InfoServiceImpl extends RemoteServiceServlet implements CustomInfoService {
   public Info getInfo(String infoId) {
       //implementation (for example getting info from database)
   }
}

确保正常工作,您还需要设置 servlet 映射,创建异步接口,进行调用并在生成的回调中处理结果,实现接口可串行化 http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html or 是否可序列化 http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/user/client/rpc/IsSerializable.html用于通过 RPC 传递的实例类。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RemoteServiceServlet 和 RemoteService 有什么区别? 的相关文章

  • GWT - css 中常量的问题

    我是 GWT 新手 我正在构建一个小型示例应用程序 我有几个 CSS 文件 我能够成功使用 ClientBundle 和 CssResource 将样式分配给 UiBinder 脚本中定义的元素 现在我想更进一步 使用 def css ru
  • Tomcat 与 Weblogic JNDI 查找

    我们使用的 Weblogic 服务器已配置为允许 JNDI 数据源名称 例如 appds 对于开发 本地主机 我们可能会运行 Tomcat 并且在 server xml 的 部分中声明时 Tomcat 会将 JNDI 数据源挂在 JNDI
  • zk 与 gwt zk 请求太多

    您好 我正在尝试比较 zk 和 gwt 的性能 在我的比较中 如果框架本身将一些代码转换为js 那么我自己无法编写任何javascript 如get 但我无法自己编写js 在以上述方式编写代码时 几乎所有在浏览器上完成的操作都会将请求发送到
  • 如何使用 GWT 以编程方式禁用 html 缓存

    有没有办法使用 GWT 禁用浏览器中 html 页面的缓存 我宁愿避免在 html 页面的标题中使用插入 META HTTP EQUIV EXPIRES CONTENT 而是以编程方式执行 如果可能的话 如果这对于 GWT JavaScri
  • 如何注入“运行时”依赖项,例如登录用户,该依赖项在应用程序启动时不可用?

    我只是不明白这个 我在我的 java GWT 应用程序中使用 Gin 来进行 DI 登录屏幕集成到完整的应用程序窗口中 用户登录后 我想将用户对象注入到我创建的其他类 例如 GUI Presenters 中 因此我相信存在某种运行时依赖性
  • GWT 代码服务器在使用 Maven 原型的新生成的项目中找不到模块

    我已经使用 GWT 和 eclipse 一段时间了 我想玩一下 Maven 和 GWT 插件 gwt maven plugin 在此输入链接描述 http mojo codehaus org gwt maven plugin 我尝试在 Ec
  • Java 会话变量

    我听说有些人认为在会话中将信息存储在服务器上是一个坏主意 因为它不安全 因此 在多页面业务流程功能中 应用程序将数据写入数据库 然后在需要时检索信息 在会话中存储私人信息是否一定不安全 只要会话本身安全 在会话中存储属性就不存在安全风险劫持
  • 在 GWT 中调用本机 (C++) 代码

    我正在 GWT 中开发一个应用程序 它需要调用 Directshow 中的本机 C 代码来进行一些多媒体处理 我猜我不能使用 JNI 因为 GWT 将代码转换为 javascript 我确实看过论坛上的类似帖子 以及关于 JSNI 的 GW
  • 将多个 GWT 应用程序集成到可插拔平台中

    我想询问您关于如何将多个基于 GWT 的 Web 应用程序组合成一个灵活的 可插拔的系统的想法 该系统有点类似于新的 Google 产品组合 以下是详细信息 想法 要求 屏幕顶部应该有一个栏 系统栏包含每个 插件应用程序 的菜单按钮 该列表
  • 仅使用 ServletContext 查找应用程序的 URL

    我正在使用 Spring MVC 编写一个 Java Web 应用程序 我有一个后台进程 它会遍历数据库并查找必须通过电子邮件发送给我的用户的通知 这些电子邮件需要包含应用程序的超链接 对于网络应用程序来说 这似乎是相当常见的模式 但我遇到
  • GAE:java.lang.NoClassDefFoundError:com/google/appengine/api/blobstore/BlobstoreServiceFactory

    请帮我解决这个问题 我正在使用 blob 存储来保存图像 它在我的本地环境中运行得非常好 但是 当我在云中部署相同的代码时 它会抛出异常 java lang NoClassDefFoundError com google appengine
  • 在 JBoss 上热部署 - 如何让 JBoss “看到”更改?

    我正在开发一个 Java EE 应用程序 在开发过程中我会在本地 JBoss 安装上反复部署该应用程序 我想通过将应用程序直接热部署到 JBOSS server default deploy myApp 来加速构建 它似乎有效 但在硬部署和
  • 如何在 GWT 中实现登录屏幕?

    我正在为后端应用程序编写一个小型 GWT 前端 我想知道 GWT 应用程序的最佳安全模型是什么 我正在考虑实现一种 RPC 方法 该方法从客户端网页接收用户密码的 MD5 然后将会话 ID 传回客户端页面 或失败代码 所有后续调用都将简单地
  • Java-使用InputStream作为文件

    我正在尝试使用上传的 docx 文件生成 PDF 文档JOD转换器 http www artofsolving com opensource jodconverter 对生成 PDF 的方法的调用如下所示 File inputFile ne
  • GWT - onClick 未触发

    我在表单上有一个非常奇怪的行为 有许多具有内联验证的文本字段 如果内容无效 则会在字段下方显示错误消息 验证在模糊时触发 页面底部有一个 下一步 按钮 单击后 将执行验证 如果一切正常 则提交表单 现在 如果当我单击按钮时强制空白字段具有焦
  • 什么时候数据库被称为嵌入式数据库?

    术语 嵌入式数据库 与 数据库 具有不同的含义吗 我见过的嵌入式数据库有两种定义 嵌入式数据库就像专门为 嵌入式 空间 移动设备等 设计的数据库系统一样 这意味着它们在紧张的环境中 内存 CPU 方面 可以合理地执行 嵌入式数据库就像不需要
  • 如何在 Wildfly 中使用 MQTT 和 JMS?

    我正在开发一个平台来监视和控制使用 MQTT 作为通信层的设备 我将 REST 端点用于基于 Angular2 的 SPA Web 后端是使用 WildFly 在 JEE 中开发的 它通过 JMS 代理 ActiveMQ Artemis 支
  • 何时使用 doGet、doPost 和 service [重复]

    这个问题在这里已经有答案了 我想知道这些 servlet 方法 我对这些方法有所了解 比如 doPost对参数数量没有限制 同时doGet has doGet比doPost doPost安全于doGet 我的问题是 因为这些方法采用相同的参
  • gwt 文本框添加更改处理程序

    我有一个从设计师那里收到的文本框 但是我在 GWT 中编写了操作 问题是文本框为空 但是当通过按下按钮用值填充文本框时 将显示警报框 通知值已更改 但没有成功 帮助我 TextBox zip1 null function onModuleL
  • 如何将 Eclipse Classic 升级到 Java EE?

    我想开发 HTML5 网站 我已经安装了用于Android开发的Java 我的机器上安装了 Eclipse Classic 3 6 现在我希望在同一台机器上安装 Java EE 是否可以 如果是这样 请告诉我如何将 Eclipse Clas

随机推荐

  • 如何选择一个CSS使用最深的类?

    如何选择一个css类的使用最深 下面的列表中 如何选择使用最深的类 active 在这种情况下是 li 包裹 span Item 1 1 1 1 span ul li class active span Item 1 span ul li
  • angularjs:在 ng-switch 中更改控制器的父范围

    因此 我可以从子控制器更改模型值 但是当子控制器处于ng switch然后就不行了 为什么呢 我创建一个例子 http plnkr co edit R7D8Xa1HBmYnwffbHQGD p preview来展示它 避免这种情况的一种方法
  • 如何传递动态参数 Airflow 运算符?

    我正在使用 Airflow 在 Google Cloud Composer 上运行 Spark 作业 我需要 创建集群 用户提供的YAML参数 Spark 作业列表 作业参数也由每个作业 YAML 提供 借助 Airflow API 我可以
  • gcc 自动矢量化(未处理的数据引用)

    我不明白为什么这样的代码没有用 gcc 4 4 6 进行矢量化 int MyFunc const float pfTab float pfResult int iSize int iIndex for int i 0 i lt iSize
  • SqlServer -> MySQL 中的 FILESTREAM 存储等效吗?

    MySQL 版本中是否有等效项 5 5 Sql Server 中的 FILESTREAM 存储 目前来看 没有 只有BLOB CLOB等数据类型在MySQL中存储二进制数据
  • 解析 AWS Athena/AWS Glue 目录中某一列中包含换行符的 csv 文件

    我有如下示例数据 id log code sequence 100 sample lt gt lt gt O sample PILE UP 3 sample 20 7 M 101 sample 4 52 sample CM 21 7 M 1
  • Java FreeTTS 缺少语音

    我写了一个小程序 它应该简单地用 Java 进行文本到语音转换 我的班级看起来像这样 import com sun speech freetts Voice import com sun speech freetts VoiceManage
  • 排除 WCF DataContract 上的属性

    给定这样的 WCF 接口定义 是否有办法从 ComplexObject 响应值中排除属性 我想排除 ChildObjects 属性 我不想从属性定义中删除 DataMember 属性 因为我需要在另一种情况下将其序列化 ServiceCon
  • Java链表如何创建一个保存字符串和整数的节点?

    我一整天都在做这件事 我可以毫无问题地创建链接列表并显示 删除其中的数据 我的问题是 我不确定如何创建每个节点的航班链接列表 包括对乘客链接列表的引用 这是我的高级算法课上的作业 我在这里画一个空白 创建一个容纳乘客的对象 public c
  • 在 GO 中打印表格的有效方法

    我想知道一种在 Go 中打印表格的简单有效的方法 我找到的解决方案有效 但它真的很难看 非常感谢 outfile file tsv f err os Create outfile var buffer bytes Buffer buffer
  • HTML“object”标签是否有跨浏览器标准 onload 事件?

    我知道 IE 支持onreadystatechange属性上的object标签 但这似乎不是标准方式 因此所有其他浏览器都不支持它 更新 澄清一下 我不是在寻找 DOM Load 事件 而是在寻找object标签本身 例如object标签将
  • -bash:react-native:找不到命令

    我已经成功安装了brew node 4 0 watchman和flow 当我安装时我收到了以下信息npm install g react native cli Users home node bin react native gt User
  • Bower:安装后“未找到命令”

    当我执行时我似乎得到以下信息npm install bower g usr local share npm bin bower gt usr local share npm lib node modules bower bin bower
  • ADT 到 Android Studio 意外的顶级异常

    因此 我正在尝试将 Eclipse ADT 项目迁移到 Android Studio 中 我使用 appcompat v7 项目作为 eclipse 中的库项目 我按照 Android 开发网站上的说明进行操作 但仍然收到此错误 Error
  • `ejabberdctl start` 导致“内核 pid 终止”错误 - 我该怎么办?

    我用谷歌搜索了三个小时但没有结果 我有一个 ejabberd 安装 但不是使用 apt 安装的 它是从源代码安装的 其中没有名为 ejabberd 的程序 启动和停止 一切都是通过 ejabberdctl 进行的 它完美地运行了一个月 突然
  • CDN 上的 Dojo 与自己安装的 Dojo

    我使用了相当多的 Dojo 但迄今为止我仅通过包含来自 AOL Google 等 CDN 来使用它 托管 Dojo 副本而不是通过 CDN 使用它是否有优势 我没有太多需要改变代码库 但我想还有其他优点 缺点 通过托管您自己的 Dojo 环
  • Tornado 如何在任意位置提供单个静态文件?

    我正在使用 Tornado 开发一个简单的网络应用程序 它提供一些动态文件和一些静态文件 动态文件不是问题 但我在提供静态文件时遇到问题 我想做的是在访问 foo json URL 时提供文件 path to foo json 请注意 pa
  • Docker 输出中缺少层 ID

    我刚刚按照官方指南在 Ubuntu 上全新安装了 Docker https docs docker com engine installation linux ubuntulinux https docs docker com engine
  • Laravel 4 如何在视图中显示 Flash 消息?

    我正在尝试显示我的闪存消息 这是我的路由文件中的 Route post users groups save function return Redirect to users groups gt withInput gt with succ
  • RemoteServiceServlet 和 RemoteService 有什么区别?

    我知道第一个是类 第二个是接口 但重点是 为什么客户服务应该扩展远程服务并为服务实现类扩展远程服务Servlet 那么幕后到底是什么 您正在尝试比较苹果和橙子 请阅读docs https developers google com web