【问题标题】:Difference between RESTful webservice and HttpServlet [duplicate]RESTful webservice和HttpServlet之间的区别[重复]
【发布时间】:2012-12-28 04:32:44
【问题描述】:

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

【问题讨论】:

  • RESTful web service 到底是什么意思?

标签: java web-services rest


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

    • 为第一行点赞...
    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

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

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

        希望对你有帮助

        【讨论】:

        • 很好的解释和切中要害
        猜你喜欢
        • 2011-11-25
        • 2014-08-16
        • 2011-04-08
        • 2012-11-24
        • 2013-06-05
        • 2021-09-29
        • 2020-05-27
        • 2016-03-23
        • 2012-08-11
        相关资源
        最近更新 更多