tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject RE: How can I resolve this "IllegalStateException: Response has a lrea dy been committed" problem?
Date Fri, 08 Mar 2002 13:45:17 GMT
The exception seems to be occurring because the Home servlet forwards more
than once (to different locations) - first to home.jsp, then later to the
Create servlet.
It is definitely the fact that it is forwarding to more than one place, that
is causing the problem.  I know this because if I call the Login servlet and
fail the login authorization - this servlet consequently forwards to
login.jsp more than once (first - to display the fresh login page, and
second - to prompt user to try again).  This however does not give me an
Given that my Home servlet is like the "central" servlet, it needs to be
capable of forwarding to a variety of places, depending on the activity
selected by the user. 
Ryan - I have looked at create.jsp and, as far as my little mind can see, it
does not play with the response object at all.  All it does is get a few
session attributes and fit them into the page using <%= blablabla %>.  Could
that be a problem?
This problem is not isolated to the "Create" example.  There are other
activities the user can choose which all follow exactly the same forwarding
mechanism (except to different servlets), and these give exactly the same


 -----Original Message-----
From: 	Ryan Daigle [] 
Sent:	08 March 2002 13:25
To:	'Tomcat Users List'
Subject:	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?


-----Original Message-----
From: []
Sent: Friday, March 08, 2002 8:26 AM
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
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

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) -
ng.IllegalStateException: Cannot forward because the response has already
been committed
        at org.apache.tomcat.facade.RequestDispatcherImpl.doForward(Unknown
        at org.apache.tomcat.facade.RequestDispatcherImpl.forward(Unknown
        at zeus.generator.web.controllers.Home.goToAddress(
        at zeus.generator.web.controllers.Home.processRequest(
        at zeus.generator.web.controllers.Home.doGet(
        at javax.servlet.http.HttpServlet.service(
        at javax.servlet.http.HttpServlet.service(
        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
        at org.apache.tomcat.core.ContextManager.service(Unknown Source)
        at Source)

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

Many thanks if anyone can assist,



To unsubscribe:   <>
For additional commands: <>
Troubles with the list: <>

To unsubscribe:   <>
For additional commands: <>
Troubles with the list: <>

View raw message