Java Servlet在转发后包含响应

Java Servlet在转发后包含响应,java,servlets,Java,Servlets,Servlet在转发后包含响应是否需要?在我的servlet中找到下面的代码。这里print.html只包含“向print打招呼”。我在这里的期望是,我应该只得到“向印刷品打招呼”的回应。 但我也收到了“向打印人员问好”和“转发后添加响应”的回复。这是预期的吗 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.s

Servlet在转发后包含响应是否需要?在我的servlet中找到下面的代码。这里print.html只包含“向print打招呼”。我在这里的期望是,我应该只得到“向印刷品打招呼”的回应。 但我也收到了“向打印人员问好”和“转发后添加响应”的回复。这是预期的吗

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
   resp.setContentType("text/html");
   PrintWriter writer = resp.getWriter();
   req.getRequestDispatcher("/test/print.html").forward(req, resp);
   writer.println("add in response after forward");
}

forward方法所做的是,它将您重定向到具有当前请求和响应对象的不同页面,最终响应由重定向页面返回

考虑一个例子,您将表单提交给某个servlet,比如“XYZ”,现在您希望在“XYZ”中处理该表单的一些数据,之后您希望在servlet“PQR”中进行剩余的处理。这是使用当前请求和响应对象调用转发方法的主要意义

如果您有任何其他疑问,请在评论中提问

参考链接:


是的
forward
只允许另一个servlet生成响应(写入流)。它不会停止请求处理。您仍然可以对响应执行更多(或有限的子集)操作。
Happy Coding!!