终止不向客户端返回任何数据的servlet的正确方法是什么?
有问题的servlet的目的是从Ajax请求中恢复一些数据并将TCP消息发送到一块硬件,告诉它改变它的状态。
您是否必须指定回复?
我选择获取对输出流的引用并关闭它,这是正确的吗?
我应该发回“嘿那工作”的消息吗?
答案 0 :(得分:6)
如果您只想提供“成功”状态,只需返回HTTP代码200.您不必返回任何流,因为您只想说“确定”。
public void doGet(...) {
response.setStatus(HttpServletResponse.SC_OK);
}
答案 1 :(得分:3)
我觉得回复很好,如果你看一下像gmail这样的东西,你会注意到很多帖子会得到
ok
作为回应,我喜欢这个。它简单而简洁。
要考虑的另一件事是你将如何处理你的请求以某种方式失败的情况,我认为如果用户不成功,你的客户应该向用户报告一些事情,因此它需要来自servlet。
答案 2 :(得分:2)
你的servlet将发送带有状态代码的响应头,无论如何,我不明白为什么你应该输出任何东西。 :)
答案 3 :(得分:2)
在这些情况下,我通常会返回一条成功消息,例如(在JSON中)
{ success: true }
我发现它有时会有助于调试!我不认为有一个'正确'的响应,只要你的servlet返回200响应代码(除非你另有说明,我认为他们会这样做)然后没有问题。