Kin-Man Chung wrote: > costin, > > This fix seems to break errorPage handling in JSP, causing the errorPage > example to fail, and a couple of JSP watchdog tests too. I have reverted > your fix. > > I have not reverted the tomcat_4_branch.
If it breaks something - tomcat_4_branch should be the first to revert :-) I think the main question is if releasePageContext is required by the spec to flush() ( i.e. commit the message ) or not. If it is required - then Content-Length just can't be set by the container for jsps ( which is not the end of the world :-). If the spec doesn't require that ( and my reading is that releasePageContext doc doesn't in any way imply this as a side effect - the flush() is a very different API ) - then I would say the tests are wrong. Costin > >> Date: Thu, 24 Oct 2002 19:18:55 +0000 >> From: [EMAIL PROTECTED] >> Subject: cvs commit: > jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime > PageContextImpl.java >> To: [EMAIL PROTECTED] >> >> costin 2002/10/24 12:18:55 >> >> Modified: jasper2/src/share/org/apache/jasper/runtime >> PageContextImpl.java >> Log: >> Change the 'flush' to just a 'flushBuffer'. >> >> This allows the container to deal with flushing the buffer ( >> wich is done automatically if the servlet doesn't explicitely >> flush()/close() ). The container can attach the Content-Length >> header which is usefull in many cases. >> >> Revision Changes Path >> 1.27 +11 -6 > jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/PageContextImp > l.java >> >> Index: PageContextImpl.java >> =================================================================== >> RCS file: > /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/Page > ContextImpl.java,v >> retrieving revision 1.26 >> retrieving revision 1.27 >> diff -u -r1.26 -r1.27 >> --- PageContextImpl.java 4 Oct 2002 19:21:44 -0000 1.26 >> +++ PageContextImpl.java 24 Oct 2002 19:18:55 -0000 1.27 >> @@ -162,7 +162,7 @@ >> this.bufferSize = bufferSize; >> this.autoFlush = autoFlush; >> this.request = request; >> - this.response = response; >> + this.response = response; >> >> // setup session (if required) >> if (request instanceof HttpServletRequest && needsSession) >> @@ -209,7 +209,12 @@ >> ((JspWriterImpl)out).flushBuffer(); >> // push it into the including jspWriter >> } else { >> - out.flush(); >> + // Old code: >> + //out.flush(); >> + // Do not flush the buffer even if we're not included >> (i.e. >> + // we are the main page. The servlet will flush it and > close >> + // the stream. >> + ((JspWriterImpl)out).flushBuffer(); >> } >> } catch (IOException ex) { >> loghelper.log("Internal error flushing the buffer in release()"); >> @@ -226,7 +231,7 @@ >> depth = -1; >> baseOut.recycle(); >> session = null; >> - >> + >> attributes.clear(); >> } >> >> >> >> >> >> -- >> To unsubscribe, e-mail: >> <mailto:tomcat-dev-unsubscribe@;jakarta.apache.org> For additional >> commands, e-mail: <mailto:tomcat-dev-help@;jakarta.apache.org> >> -- To unsubscribe, e-mail: <mailto:tomcat-dev-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:tomcat-dev-help@;jakarta.apache.org>