【问题标题】:Servlet vs WebservicesServlet 与 Web 服务
【发布时间】:2013-10-15 18:47:12
【问题描述】:

像 REST、SOAP 这样的 Web 服务,它提供可用于 Web 应用程序的服务,因为我们知道它可以通过 POST 或 GET 接收 JSON、字符串、XML 等值,并且它可以以同样的方式将数据返回为 JSON,字符串、XML 等

同样的事情可以通过 servlet 完成,因为 servlet 可以通过 POST 或 GET 以字符串、JSON 等形式接收数据,并且它可以以 JSON、字符串、XML 等形式返回数据。

我们需要基于我们使用的 Web 服务的库,例如 SOAP 或 REST,servlet 库几乎是内置的。

那么 Servlet 和 Web 服务有什么区别呢?哪个更快?

谁能告诉我一些解决方案。

【问题讨论】:

标签: web-services rest servlets soap


【解决方案1】:

这种讨论可能会导致很多语义上的激烈争论,但我会说 Web 服务只是一种利用标准进行通信的方法,以允许不同的技术可互操作。就像说英语的人在说法语和说德语的人之间进行翻译。

同时,在 Java Web 服务器中实现 Web 服务端点(为您的请求提供响应的地方)的方法是使用 servlet。所以 servlet 只是一种实现 Web 服务通信的技术(在 JVM 中)。

当您查看 JAX-WS 和 JAX-RS 时,实现这些标准的框架只是在 Java 的 HttpServlet(通常)之上创建抽象,通过处理很多底层细节。

希望对您有所帮助。

【讨论】:

  • 为什么不能使用servlet进行通信,因为它可以接收参数并生成说json.....那么它也可以做和webservice一样的事情......
  • 你完全正确。那是我的观点。让我更简单地说。 Web 服务(无论是 SOAP 还是 REST)是一组可互操作通信的标准,而 servlet 是 Java 帮助实现这些标准的方式。如果有人对我说,“去用 Java 构建 Web 服务”,我会用 servlet(或者实际上是一个使用 servlet 的框架)来做。
  • +1,你说得对……对于webservices,我们是否有必要使用servlet来实现,据我所知,我不知道它是否正确,webservices可以有自己的实现和执行业务逻辑的方法
  • 我想我不是很清楚。它们基本上是一样的。您可以使用 servlet 在 Java 中实现 Web 服务。去使用 RESTEasy、Spring MVC 或 Apache CXF 来构建你的服务。他们在后台使用 servlet,但让框架来处理。
  • 如果一个 servlet 执行以下任务:接受 xml/json 请求 -> 处理它并返回 xml/json 响应 -> 它可以称为 Web 服务吗?
【解决方案2】:

servlet 和 Web 服务之间有很多区别,但主要是: 在 Web 开发中 servlet 是前端对象,工作在 Web 容器中,Web 服务可以有不同的角色:作为后端或作为中间层对象。

【讨论】:

    猜你喜欢
    • 2017-12-20
    • 2011-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    相关资源
    最近更新 更多