You want, whatever is sent to the client as HTML output, to be saved to a file. Right?
If so, then yes, filters can do that. In the doFilter method, you create an HttpServletResponseWrapper. A quick example:
The TeeOutputStream is similar, but it has no backing writer of itself so you'll need to redirect each call to both output streams: