没有“返回任何东西”的servlet的正确语法?

没有“返回任何东西”的servlet的正确语法?

问题描述:

终止不返回任何数据到客户端的servlet的正确方法是什么?没有“返回任何东西”的servlet的正确语法?

有问题的servlet的目的是从Ajax请求中收集一些数据并将TCP消息发送到一个硬件,告诉它改变它的状态。

您是否必须指定响应?

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

我应该发回一个“嘿,工作”的消息?

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

在这种情况下,我通常会返回一个成功的消息,即像(以JSON)

{ success: true } 

我发现它与调试有时帮助!我认为,如果您的servlet返回了200个响应代码(我认为它们的确如此,除非您另有指定),那么我认为不存在“正确”的响应,那么就没有问题了。

我想回应是好的,如果你看的东西,如Gmail,你会发现有很多是得到

ok 

作为回应,我喜欢这个帖子。它简单而简洁。

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

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

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