RESTful webservice和HttpServlet之间的区别

时间:2013-01-14 07:32:18

标签: java web-services rest

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

5 个答案:

答案 0 :(得分:7)

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

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

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

答案 1 :(得分:7)

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

答案 2 :(得分:6)

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

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

从技术上讲,如果您正在谈论Java,可以使用vanilla servlet实现restful Web服务,或者可以使用Apache Wink或Jersey等工具来定义实现休息服务的便捷方式,但这些只是工具。 BTW,Jersey(据我所知,我不了解其他人)是在servlet之上实现的。

希望这有帮助

答案 3 :(得分:1)

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

答案 4 :(得分:1)

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