【问题标题】:Should REST webservices be called directly by Ajax or via Servlets/JSPsREST web 服务应该由 Ajax 直接调用还是通过 Servlets/JSP 调用
【发布时间】:2011-05-09 18:17:12
【问题描述】:

我正在创建一个使用 REST Web 服务的 Web 服务。客户端代码是用 HTML/JavaScript 编写的。我的困境是我是否

  1. 应该通过 AJAX 调用直接使用 REST 资源吗?

  2. 我应该创建 Servlet/JSP(将进行 REST 调用并将数据发送到客户端(AJAX/JAVSCRIPT))。

我见过许多遵循第二个过程的网络应用程序,但在我看来,它以一种间接的方式做着与第一个过程相同的事情。

使用第二个程序比第一个程序有什么优势吗?

HTML/javaScript 客户端使用 REST 服务的标准方式是什么?

如果我的想法正确,请告诉我,如果没有,请提供您宝贵的见解。

【问题讨论】:

    标签: ajax web-services jsp rest servlets


    【解决方案1】:

    您可以使用任何一种方法,但请注意,浏览器将对脚本强制执行同源策略,因此如果 REST 服务与脚本位于不同的域中,您将需要在与脚本相同的域中使用 servlet/脚本脚本来代理对另一个域的调用。我怀疑这就是您看到使用第二种方法的原因。

    如果不需要所有响应,代理/中间人 servlet 也可能有用;您可以使用 servlet 去除 JavaScript 不需要的信息,以减少发送到浏览器的数据量。

    【讨论】:

      【解决方案2】:

      通过 AJAX 直接访问资源的明显好处是开销更少,恕我直言,这是更优雅的解决方案,然而同样重要的是要注意,不是所有浏览器都原生支持 PUT 和 DELETE 请求。

      要解决这个问题,您可能需要支持常见的“_method”hack。这个stackoverflow question 提到了这种方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-04-25
        • 1970-01-01
        • 2014-04-30
        • 2022-12-21
        • 1970-01-01
        • 2011-09-17
        • 1970-01-01
        相关资源
        最近更新 更多