■ There is no buffer (in a JSP, this can be achieved with a page directive, setting the buffer attribute to �none�), and even one character has been written to the response. ■ The buffer has been explicitly flushed (response.flushBuffer()). ■ The buffer has been automatically flushed on filling up (in a JSP, this will happen by default�see the page directive attribute autoFlush for more information).
In all the above 3 conditions, the response would be commited. So if jsp:forward is used after any of these 3 conditions, it would result in IllegalStateException. So jsp:forward won't work...
Thanks and regards, Saurabh
Joined: Feb 11, 2007
the previous answer was complete. all three cases commit the response and thus throws IllegalStateException upon forwarding, since the purpose of <jsp:forward> is to transfer the the control to another page after discarding what's written as output in current page.