捕获包含HttpServletResponseWrapper标头的整个响应

Sam*_*sia 4 java jsp tomcat

提前感谢大家 -

所以我继续实现了这段代码: 如何读取HttpServletReponses输出流?

这给了我响应的主体(html等),但我根本没有得到任何标题 - 这可能与HttpServletResponseWrapper有关吗?我需要将所有请求捕获到所有标题修改等.

谢谢,

山姆

Chs*_*y76 5

如果要捕获标头,最好的方法是覆盖HttpServletResponseWrapper中的所有addHeader()/ setHeader()(Date,int和String)并将它们存储在HashMap或Properties实例中(如果您使用的是Google Collections,则存储在MultiMap中) ).
然后,您可以在处理响应后在过滤器中对它们执行任何操作.您还需要在包装器中以某种方式公开它们(例如,编写一个getHeaders()方法),因为常规方法HttpServletResponse不会.