Java 将请求从servlet1转发到servlet2,并从servlet1中的servlet2获取输出,以进一步过滤掉它

Java 将请求从servlet1转发到servlet2,并从servlet1中的servlet2获取输出,以进一步过滤掉它,java,servlets,requestdispatcher,Java,Servlets,Requestdispatcher,我一直在尝试将一个请求从servlet1转发到servlet2,我使用RequestDispatcher.forward(请求,响应)成功地做到了这一点,但通过这种方式,它将打印来自servlet2的输出。我想从servlet1中的servlet2获取输出,并进一步操作它。我曾尝试使用RequestDispatcher.include(请求、响应),但由于某些原因,它无法访问servlet2。有没有办法从servlet1中的servlet2获取输出并将其过滤掉? 注意:我正在编写一个jsonOb

我一直在尝试将一个请求从servlet1转发到servlet2,我使用RequestDispatcher.forward(请求,响应)成功地做到了这一点,但通过这种方式,它将打印来自servlet2的输出。我想从servlet1中的servlet2获取输出,并进一步操作它。我曾尝试使用RequestDispatcher.include(请求、响应),但由于某些原因,它无法访问servlet2。有没有办法从servlet1中的servlet2获取输出并将其过滤掉?
注意:我正在编写一个jsonObject.toString()来响应servlet2

RequestDispatcher.forward()是一个来自服务器端的重定向,将所有已发布的输入保留在第二个servlet上进行处理。听起来像是RequestDispatcher.include()是您所需要的。下面是一个关于.include()工作原理的好例子。重构代码,使业务逻辑在单独的业务类中执行,这些业务类从每个servlet独立调用,这可能会很有用。@MinhKieu我尝试过使用RequestDispatcher.include(),但不管怎样,它都不会命中第二个servlet。同样,如果我使用RequestDispatcher.forward(),它也可以正常工作。@在我的例子中,John servlet1与servlet2处于不同的上下文中,servlet2负责收集所有数据,并应将其返回给servlet1以过滤该数据。您的具体建议是什么?我倾向于在业务类(普通的旧java对象——POJO)而不是servlet类中实现这些任务(查找数据、过滤数据)。例如,一个名为DataFactory的类有一个方法getData(),另一个名为DataFilterer的类有一个方法filterData(列表数据)。然后,获取数据的servlet将有两行代码分别调用这些方法。