我正在使用扩展HttpServletResponseWrapper的类HttpServletResponseCopier和扩展ServletOutputStream的ServletOutputStreamCopier。代码位于How to read and copy the HTTP servlet response output stream content for logging的顶部答案,我在我的servlet过滤器中使用这些代码(在jboss中用于所有/ * url映射)
对于通过我的过滤器的一些http数据包,我将修改响应主体,但对于其他人我不会。但对于两者,我调用chain.dofilter(request,responseWrapper),其中responseWrapper的类型为HttpServletResponseCopier。
我的问题是,即使我的servlet过滤器代码对responseWrapper一无所知,使用这个reponseWrapper是否会干扰现有Web应用程序(不是我的)的正常运行?
在某些情况下,现有应用程序的行为方式不同,而其他功能的应用程序与以前一样。我的目的是找出如何修复responseWrapper实现,因为我的过滤器在chain.dofilter(request,responseWrapper)之后没有做任何事情,所以我在询问上面链接的包装器实现中是否有任何错误,这可以解释为什么在某些情况下,应用程序的行为会有所不同。