【发布时间】:2012-07-03 14:13:03
【问题描述】:
我正在尝试编写一个 servlet 过滤器,它在某些条件下将读取 JSP 文件返回的 HTML 响应并对其进行处理(使用 XHTML 解析器)并对其进行一些修改,然后最终将其返回给浏览器(基本上我正在尝试实现全局更改以避免不得不单独修改数百个 JSP)
我正在使用 Tomcat。我首先为 HttpServletResponse 和 ServletOutputStream 提供了一个包装器,然后再将它们传递回过滤器链。但是,我收到“IllegalStateException:getOutputStream() 已被调用以获取此响应”。每当我们的一个标签库尝试使用“this.pageContext.getOut()”返回的编写器进行编写时,似乎都会发生这种情况,所以我猜 Tomcat 使用的响应/编写器/输出流没有使用我通过的包装类过滤器。
有什么建议吗?还是有更好的方法来完成我想做的事情?
【问题讨论】:
标签: jsp servlet-filters