根据javadoc:
在 - request.getRequestDispatcher("/Test").forward(request,response);
应该在响应提交之前调用forward client(在刷新响应体输出之前)。响应缓冲区中的未提交输出在转发之前自动清除。
当提交或刷新此响应时,我感到困惑?
是println
printwriter
的写作。
答案 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容器在“你的”方法之后为你做。