Java HTTP响应头中缺少OK

Java HTTP响应头中缺少OK,java,http,tomcat,servlets,Java,Http,Tomcat,Servlets,我在Tomcat8中部署了一个webapp。这是我遇到问题的servlet: @WebServlet(name = "Start", urlPatterns = {"/start"}) public class StartServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws Ser

我在Tomcat8中部署了一个webapp。这是我遇到问题的servlet:

@WebServlet(name = "Start", urlPatterns = {"/start"})
public class StartServlet extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String requestBodyStr = request.getReader().lines().collect(Collectors.joining(System.lineSeparator()));
        StartRequest startRequest = JsonUtil.parseStartRequest(requestBodyStr);

        if (startRequest == null) {
            response.sendError(HttpServletResponse.SC_BAD_REQUEST);
            return;
        }

        response.setStatus(HttpServletResponse.SC_OK);

        String responseBody = getResponseBody();

        try (PrintWriter out = response.getWriter()) {
            out.print(responseBody);
        }
    }
}
如果我向该servlet发出请求,则响应不包含OK状态消息,它只是:

HTTP/1.1 200

如何将OK添加到响应中?

当您执行
response.setStatus(HttpServletResponse.SC\u OK)时,与执行
响应相同。设置状态(200)
(字面上,如果您检查它,
SC_OK
只是一个值为
200
的常量)。200是http中
OK
的代码。如果要手动写入
确定
,则必须添加:

responserBody += " OK";
try (PrintWriter out = response.getWriter()) {
    out.print(responseBody);
}

但是这不应该有用,因为
200
已经在说:请求按预期工作。

200是一个ok响应。您应该注意返回的代码值,不要期望有文本。但是,如果需要,则需要将其添加到响应流中。您不能更改标准响应代码