当前位置: 首页 > 面试题库 >

我需要学习Java中的Web服务。里面有什么不同的类型?

白弘伟
2023-03-14
问题内容

最近,我决定开始学习Java Web服务,并且当我开始在Google中搜索Java
Web服务的教程时,我发现有很多类型的Web服务基于XML,基于SOAP以及RESTful Web服务。

另外,我发现有一个用于基于xml的Web服务的JAX-WS规范和一个用于创建RESTful Web服务的JAX-RS规范。

Q1)我很困惑,如果有人可以帮助我理解这些不同类型的Web服务之间的区别,那太好了,这样我可以决定首先学习哪个。

Q2)另外,我想深入学习有关在Java中创建不同类型的Web服务的信息。是否有任何教程或资源可以深入了解每种Web服务以及它们之间的比较。

Q3)基于什么情况和条件,我应该决定创建基于XML的Web服务而不是SOAP服务,或者应该使用RESTful服务。


问题答案:
  1. SOAP Web服务是基于标准的,并且几乎受每个软件平台的支持:它们高度依赖XML,并支持事务,安全性,异步消息和许多其他问题。这是一个相当大且复杂的标准,但几乎涵盖了所有消息传递情况。另一方面,RESTful服务依赖于HTTP协议和动词(GET,POST,PUT,DELETE)来交换任何格式的消息,最好是JSON和XML。这是一种非常简单而优雅的架构方法。
  2. 就像Java世界中的每个主题一样,有多个库可以构建/使用Web服务。在SOAP Side中,您具有JAX-WS标准和Apache Axis,在REST中,您可以在其他库中使用Restlets或Spring REST工具。

对于问题3,本文指出RESTful
Services在这种情况下适用:

  • 如果带宽有限
  • 如果您的操作是无状态的:从一次调用到下一次调用不会保留任何信息,并且每个请求都将被独立处理。
  • 如果您的客户需要缓存。

在以下情况下,SOAP是必经之路:

  • 如果需要异步处理
  • 如果您需要正式合同/接口
  • 在服务中,操作是有状态的:例如,您在一个请求上存储信息/数据,并在下一个请求上使用该存储的数据。


 类似资料:
  • 本文向大家介绍为什么HTML5里面我们不需要DTD?相关面试题,主要包含被问及为什么HTML5里面我们不需要DTD?时的应答技巧和注意事项,需要的朋友参考一下 先说一下什么是DTD或者说我们为什么在html5之前需要使用DTD 下面是DTD的作用: 通过 DTD,您的每一个 XML 文件均可携带一个有关其自身格式的描述。 通过 DTD,独立的团体可一致地使用某个标准的 DTD 来交换数据。 应用程

  • 问题内容: 我的应用程序中有一个弹出模式服务,名为。它只是在上翻转了一些布尔值,从而导致2条指令正确显示/隐藏。这是显示新模态时调用的函数 如您所见,我显示不透明的背景,然后设置了一个名为的变量,该变量随后通过DI传递到我的指令中。但是后来我注意到我的模态没有出现在适当的时候,而是在变量设置为true 之后出现在NEXT摘要循环中。然后,我必须添加作业周围的内容才能使其正常工作。但是,我认为仅当我

  • 对于这样一个陈词滥调的问题我很抱歉,但我真的不知道为什么我的CNN没有进步。 我正在训练一个美国有线电视新闻网的SVHN数据集(一位数)与32x32的图像。 对于预处理,我将RGB转换为灰度,并通过标准化对所有像素数据进行规格化。因此,数据范围变为(-1,1)。为了验证我的和是否正确对应,我从中随机选取了一个图像,并从中选取了一个具有相同索引的标签,这表明它们是正确的。 以下是我的代码(Keras

  • 本文向大家介绍为什么我们需要微服务容器?相关面试题,主要包含被问及为什么我们需要微服务容器?时的应答技巧和注意事项,需要的朋友参考一下 要管理基于微服务的应用程序,容器是最简单的选择。它帮助用户单独部署和开发。您还可以使用Docker将微服务封装到容器的镜像中。没有任何额外的依赖或工作,微服务可以使用这些元素。

  • 问题内容: 按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我正在为公司Intranet创建一个Web应用程序,因为该系统的其他部分是用Java编写的,因此出于集成目的,选择Java作为Web前端。 有要求: 必须在短

  • 我有一个带有的spring boot应用程序。 我还使用并在其中扩展。 当我尝试@AutoWired我拥有的服务时: 原因:org.springframework.beans.factory.noSuchBeanDefinitionException:没有“com.api.core.service.countryService”类型的合格bean可用:应至少有一个合格的自动候选bean。依赖项注释