12

实现一个 RESTful Web 服务和一个普通的 HTTPServlet 有什么区别。Servlet 以及任何 REST API 都支持所有 GET/POST/DELETE/PUT。

4

5 回答 5

8

REST 实际上是在服务器上设计 API 时使用的一种架构风格。HttpServlets 可以是一种实现 RESTful Web 服务的方法。

REST 描述了一种风格,其中 HTTP 动词如 GET/POST/DELETE/等。以可预测的方式用于与服务器上的资源进行交互。

我建议阅读REST Wikipedia页面以获得良好的概述。

于 2013-01-14T07:43:11.390 回答
7

REST 是一种架构模式(抽象),而 servlet 是一种实现。

于 2013-01-14T07:44:06.307 回答
6

我的 5 美分在这里 :) 至于我 - Servlet 只是 HTTP 协议的抽象。它支持 GET/PUT 等,因为 Http 协议定义了这些方法。

另一方面,Restful Web 服务是一个抽象概念,它讨论的是操作资源的思想,而不是特定的实现。确实,在 HTTP 协议的上下文中考虑 rest 功能非常方便,但试着考虑它们,因为它们是完全不同的野兽。Restful Web 服务不是 Java 特有的。

从技术上讲,如果您谈论的是 Java,则可以使用 vanilla servlet 来实现 restful web 服务,或者可以使用 Apache Wink 或 Jersey 等工具来定义实现 rest 服务的便捷方式,但这些毕竟只是工具。顺便说一句,泽西岛(据我所知,我不了解其他人)是在 servlet 之上实现的。

希望这可以帮助

于 2013-01-14T08:53:00.007 回答
1

HttpServlet 以程序员认为合适的方式响应 HTTP 方法。一个 RESTful Web 服务应该基于对实体的处理。CRUD 应该对应于 HTTP 方法 POST、GET、PUT 和 DELETE。url 也应该根据格式定义,例如 {server}/{entities}、{server}/{entities}/{id} 等。

于 2013-01-14T07:40:35.247 回答
1

顾名思义,RESTful Web 服务是一种 Web 服务,用于在 2 个不同的服务器之间建立通信,因此有助于集成基于 Web 的应用程序。Web 服务使用 HTTP 协议。而 HTTPServlet 是一个支持 HTTP 调用的 Servlet。这里面的不同方法都支持HTTP协议。

于 2013-01-14T08:26:10.620 回答