何时提交或刷新servlet响应?

时间:2015-06-10 07:24:24

标签: java jsp servlets forward requestdispatcher

根据javadoc:

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

  应该在响应提交之前调用

forward   client(在刷新响应体输出之前)。响应缓冲区中的未提交输出在转发之前自动清除。

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

println printwriter的写作。

2 个答案:

答案 0 :(得分:3)

flush()上调用PrintWriter会提交回复。

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

转发前您可以有多个out.write语句,但转发前无法呼叫flush。  喜欢

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

但是如果

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

答案 1 :(得分:0)

不,不是。 就像你在代码中手动刷新它一样

response.flush()

通常,servlet容器在“你的”方法之后为你做。