servlet 响应何时提交或刷新?

3 java jsp servlets forward requestdispatcher

根据javadoc:

在-request.getRequestDispatcher("/Test").forward(request,response);

forward 应该在响应提交给客户端之前调用(在响应正文输出被刷新之前)。响应缓冲区中未提交的输出在转发之前自动清除。

当提交或刷新此响应时,我感到困惑?

这是写作printlnprintwriter

Arj*_*jit 5

调用flush()PrintWriter提交的响应。

forward 方法允许一个 servlet 对请求进行初步处理,并允许另一个资源生成响应。

out.write转发前可以有很多语句,但flush转发前不能打电话。喜欢

PrintWriter out = response.getWriter();
out.write("forwarding...\n");
rd.forward(request, response); //this is good
Run Code Online (Sandbox Code Playgroud)

但如果

out.write("forwarding...\n");
 out.flush();
 rd.forward(request, response); //this throws an exception
Run Code Online (Sandbox Code Playgroud)