【发布时间】:2011-09-12 12:00:36
【问题描述】:
在我的 Web 应用程序中,我有两个 servlet,分别是 Servlet A 和 Servlet B。浏览器调用了 Servlet A。 Servlet A 调用 Servlet B 使用 RequestDispatcher 调用 include() 方法。
Servlet B 在 ServletOutputStream 上写入一些字节。
现在到 include() 方法的下一行,我想读取 Servlet B 写入的字节。我该怎么做?
代码摘要如下。
public class A extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
RequestDispatcher rd = request.getRequestDispatcher("/B");
rd.include(request, response);
// Now here i want to read bytes of ServletOutputStream for further processing
// How do I?
}
}
同样,我当然不能修改 servlet B 的代码。它是预定义的。其次,确定 servlet B 在 ServletOutputStream 上写入字节。
非常感谢任何帮助。
【问题讨论】:
-
rd.include(request, response)不会导致 ServletB写出它的响应。它只会在 ServletA中包含 ServletB的响应。提交 ServletAs 响应然后为您读取可能性?
标签: servlets