【问题标题】:Correct syntax for a servlet that doesn't "return anything"?不“返回任何内容”的 servlet 的正确语法?
【发布时间】:2010-10-28 04:24:28
【问题描述】:

终止不向客户端返回任何数据的 servlet 的正确方法是什么?

所讨论的 servlet 的目的是从 Ajax 请求中接收一些数据并将 TCP 消息发送到硬件以告诉它更改其状态。

您是否必须指定响应?

我已选择获取对输出流的引用并关闭它,这是正确的吗?

我应该发回一条“嘿,这有效”的消息吗?

【问题讨论】:

    标签: java ajax servlets


    【解决方案1】:

    您的 servlet 将在任何情况下发送带有状态码之类的响应标头,我不明白您为什么要在此之上输出任何内容。 :)

    【讨论】:

      【解决方案2】:

      在这些情况下,我通常会返回一条成功消息,例如(在 JSON 中)

      { success: true }
      

      我发现它有时有助于调试!我不认为有一个“正确”的响应,只要你的 servlet 返回一个 200 响应代码(我认为他们会这样做,除非你另有说明)那么就没有问题。

      【讨论】:

        【解决方案3】:

        我觉得回复很好,如果你看类似 gmail 的东西,你会发现很多帖子都收到了

        ok
        

        作为回应,我喜欢这个。它简单明了。

        要考虑的另一件事是您将如何处理您的请求以某种方式失败的情况,我认为如果它不成功,您的客户可能应该向用户报告一些事情,因此它需要来自servlet。

        【讨论】:

          【解决方案4】:

          如果您只想提供“成功”状态,只需返回 HTTP 代码 200。您不必返回任何流,因为您只想说“OK”。

          public void doGet(...) {
              response.setStatus(HttpServletResponse.SC_OK); 
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2022-11-28
            • 1970-01-01
            • 2020-04-22
            • 2016-04-20
            • 1970-01-01
            • 1970-01-01
            • 2014-12-23
            • 1970-01-01
            相关资源
            最近更新 更多