在tomcat的filter中如何修改重定向Response中的目的URL
最近写一个tomcat的filter,此filter对所有的jsp/sevlet生产的html代码做一些处理。碰到一个需求,需要改写重定向Resonse(301/302)中的URL, 重定向Response由Servlet中直接调用HttpResponseServlet.sendRedirect产生。
对于正常的HTTP Response,我的filter可以通过HttpResponseServlet提供的方法修改Response的Header和Body。但对于301/302的Response却没有办法获取和修改重定向的目的URL。请各位指教如何实现获取和修改重定向Response的目的URL。多谢。
目的URL对应Response Header中的location,如下所示。
HTTP/1.1 302 Moved Temporarily
Server: Apache-Coyote/1.1
Location: http://www.xxx.com/xxx
Content-Type: text/html;charset=UTF-8
Content-Length: 0
Date: Wed, 14 Apr 2010 09:36:30 GMT