You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Ryan Daigle <RD...@healthdec.com> on 2002/03/08 14:24:55 UTC

RE: How can I resolve this "IllegalStateException: Response has a lrea dy been committed" problem?

Are you sure there isn't something in create.jsp that is trying to
manipulate the response?  I have found that trying to do a
"<jsp:include...>" after manipulating the session can cause this exception.
Is this a possibility?  Perhaps you could send the relevant source of
create.jsp and the Create servlet?

-Ryan


-----Original Message-----
From: lindsay.hamoudi@bt.com [mailto:lindsay.hamoudi@bt.com]
Sent: Friday, March 08, 2002 8:26 AM
To: tomcat-user@jakarta.apache.org
Subject: RE: How can I resolve this "IllegalStateException: Response has
a lrea dy been committed" problem?


OK here's the sequence of events:

[ Note: all forwarding done using RequestDispatcher.forward(req,res) ]

1. User begins by clicking link to Login servlet
2. Login servlet forwards to login.jsp
3. Login.jsp submits request to Login servlet
4. Servlet authorizes user and forwards to Home servlet
5. Home servlet forwards to home.jsp
NO EXCEPTIONS YET - EVERYTHING IS OK!
6. User then chooses an action (e.g. create new agent, in my example) from
home.jsp and submits request to Home servlet
7. Home servlet processes request and forwards to appropriate servlet
(called Create in my example)
8. Create servlet does some stuff and forwards to create.jsp
BANG!  I GET THIS EXCEPTION (I have included some buildup to this
exception):

Now in Home servlet - processing request...
2002-03-08 13:19:08 - DecodeInterceptor: Charset from session ISO-8859-1
Now in Create servlet - processing request...
Getting list of available types seems to have went OK
2002-03-08 13:19:09 - Ctx(/AgentGenerator) : IllegalStateException in R(
/AgentGenerator + /create.jsp + null) - java.la
ng.IllegalStateException: Cannot forward because the response has already
been committed
        at org.apache.tomcat.facade.RequestDispatcherImpl.doForward(Unknown
Source)
        at org.apache.tomcat.facade.RequestDispatcherImpl.forward(Unknown
Source)
        at zeus.generator.web.controllers.Home.goToAddress(Home.java:157)
        at zeus.generator.web.controllers.Home.processRequest(Home.java:120)
        at zeus.generator.web.controllers.Home.doGet(Home.java:131)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at org.apache.tomcat.facade.ServletHandler.doService(Unknown Source)
        at org.apache.tomcat.core.Handler.invoke(Unknown Source)
        at org.apache.tomcat.core.Handler.service(Unknown Source)
        at org.apache.tomcat.facade.ServletHandler.service(Unknown Source)
        at org.apache.tomcat.core.ContextManager.internalService(Unknown
Source)
        at org.apache.tomcat.core.ContextManager.service(Unknown Source)
        at
org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Unknown
Source)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(Unknown Source)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(Unknown
Source)
        at java.lang.Thread.run(Thread.java:484)

But the page is being displayed OK, and the application continues to
function properly.  I'd just like to get rid of this exception somehow.
Maybe the way I am forwarding so much is not the best way to do things, but
it is working.  What alternatives are there?  Oh, I get the same sort of
messages when I substitute requestDispatcher.forward() with
response.sendRedirect().

Many thanks if anyone can assist,

Cheers

Lindsay

--
To unsubscribe:   <ma...@jakarta.apache.org>
For additional commands: <ma...@jakarta.apache.org>
Troubles with the list: <ma...@jakarta.apache.org>