This is unrelated, but worth mentioning to other people converting
over from Resin 3.0.x:
We had this problem when converting over from Resin 3.0.x.: The
problem is that Resin 4.0.x now outputs white space in each iteration of
<c:forEach ...></c:forEach> loops, and other places where Resin 3.0.x
did not. That causes problems with Resin 3.0.x and older code that has
c:redirect, sendRedirect, jsp:forward, response.reset(), and any other
calls that rely on the response not being committed. The reason is
that the buffer used to cache up a response prior to writing out to
response's outputStream can fill up very quickly compared with earlier
versions and causes the response to commit very fast (with a ton of
white space to boot).
The fix is, if you are doing <jsp:include page=""> with loops in it, to do:
<c:import url="" var="debug"> .. </c:import>
instead. Instead of the output being dumped directly to response's
output buffer, the white space will go to a variable that you can ignore
(and comes in handy a development environment).
If you are not including/importing anything and have a bunch of
<c:forEach> in your code prior to your redirect/clear/reset, try
throwing those in a second JSP and doing a <c:import .. var="debug"> in
order to trap the white space.
This way your response.buffer won't commit prematurely and you can still
I know this is unrelated but we had issues with it, and I thought I
would post it for others searching for redirect/clear/reset issues.
On 8/30/2010 10:33 AM, Morawetz, Martin wrote:
> wMorawetz, Martin wrote:
>>> Hi all,
>>> Some JSPs produce following error Stacktrace in our Java-log:
>>> java.io.IOException: can't clear response after writing headers
>>> The Exception gets thrown at the line
>>> sosOut = response.getOutputStream();
>>> This code work on all other resin installations (for years now)
>>> The only difference to our other resin installations that I'm aware
>>> is that resin and apache are on two separate machines now.
>>> We use Resin Pro 4.0.9.
>>> Any ideas what might cause this exception?
>> Resin is being more strict about conforming to the servlet/JSP spec.
>> Is there an output flush() anywhere before that clear()?
>> -- Scott
> Yes there is, and removing the out.flush() resolves the issue.
> Was that 'being more strict' a recent change? The same code
> works on a different server with Resin 4.0.0 installed.
> Regards, Martin
> "The information in this e-mail and in any attachments is confidential and
> intended solely
> for the attention and use of the named addressee(s). This information may be
> subject to legal,
> professional or other privilege and further distribution of it is strictly
> prohibited without
> our authority. If you are not the intended recipient, you are not authorised
> to and must not
> disclose, copy, distribute, or retain this message or any part of it, and
> should notify us
> This footnote also confirms that this email has been automatically scanned
> for the presence
> of computer viruses, profanities and certain file types."
> resin-interest mailing list
resin-interest mailing list