2009-08-01 59 views

回答

5

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

+0

感谢reply- 我继续压倒所有的报头修正方法 - 和用一个包含“response.addHeader(”myheader“,”headervalue“)的简单jsp来测试它;”并且该头部被捕获,但是看起来像下面的头部没有通过这些方法设置: Status = OK - 200 Server = Apache-Coyote/1.1 Content-Type = text/html Content-Length = 0 Date = Sun,2009年8月2日02:05:36 GMT 它看起来像tomcat设置那些其他地方,我错过了什么? 再次感谢您的帮助! – 2009-08-02 02:10:03

0

一个简单的解决方案是使用Tomcat的Request Dumper Valve。这将转储所有元信息,包括每个传入的HttpServletRequest和传出的HttpServletReply的头字段。

+0

感谢您的答复 - 我确实需要这个允许的方式向客户端头的修改 - 谢谢您的好意 – 2009-08-02 00:06:26