remove all whitspace from your jsp before the code. change <%@ page import="Bid.BidSession"%> <%
to <%@ page import="Bid.BidSession"%><% (one line) the jsp is writing your whitespace to the outputstream, thus preventing your forward(). Charlie > -----Original Message----- > From: Abid Ali Teepo [mailto:[EMAIL PROTECTED] > Sent: Friday, July 11, 2003 11:57 AM > To: Tomcat Users List > Subject: RE: Exception:getOutputStream() has already been called for > this response > > > > Hi Tim > > No, the rd.include doesn't write anything. > > I'm pasting the root cause stack trace that refers to line > number 69 in my jasper produced file that i'm attaching ... > sure hope you can have a look at it ... > > Abid > > java.lang.IllegalStateException: getOutputStream() has > already been called for this response > at > org.apache.coyote.tomcat4.CoyoteResponse.getWriter(CoyoteRespo > nse.java:614) > at > org.apache.coyote.tomcat4.CoyoteResponseFacade.getWriter(Coyot > eResponseFacade.java:173) > at > org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl. > java:173) > at > org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterI > mpl.java:166) > at > org.apache.jasper.runtime.PageContextImpl.release(PageContextI > mpl.java:184) > at > org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageCo > ntext(JspFactoryImpl.java:198) > at > org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(Js > pFactoryImpl.java:193) > at > org.apache.jsp.netbid_done_jsp._jspService(netbid_done_jsp.java:69) > at > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.apache.jasper.servlet.JspServletWrapper.service(JspServlet > Wrapper.java:210) > at > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet > .java:295) > at > org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt > er(ApplicationFilterChain.java:247) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli cationFilterChain.java:193) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW > rapperValve.java:256) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValv > eContext.invokeNext(StandardPipeline.java:643) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > ine.java:480) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardC > ontextValve.java:191) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValv > eContext.invokeNext(StandardPipeline.java:643) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(Aut > henticatorBase.java:551) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValv > eContext.invokeNext(StandardPipeline.java:641) > at > org.apache.catalina.valves.CertificatesValve.invoke(Certificat > esValve.java:246) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValv > eContext.invokeNext(StandardPipeline.java:641) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > ine.java:480) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > at > org.apache.catalina.core.StandardContext.invoke(StandardContex > t.java:2415) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHost > Valve.java:180) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValv > eContext.invokeNext(StandardPipeline.java:643) > at > org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDi > spatcherValve.java:171) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValv > eContext.invokeNext(StandardPipeline.java:641) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport > Valve.java:172) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValv > eContext.invokeNext(StandardPipeline.java:641) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > ine.java:480) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn > gineValve.java:174) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValv > eContext.invokeNext(StandardPipeline.java:643) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > ine.java:480) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > at > org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter. > java:223) > at > org.apache.coyote.http11.Http11Processor.process(Http11Process > or.java:594) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle > r.processConnection(Http11Protocol.java:392) > at > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoi > nt.java:565) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run( > ThreadPool.java:619) > at java.lang.Thread.run(Thread.java:484) > > > > -----Original Message----- > From: Tim Funk [mailto:[EMAIL PROTECTED] > Sent: 11. juli 2003 17:49 > To: Tomcat Users List > Subject: Re: Exception:getOutputStream() has already been called for > this response > > > Does "rd.include(request, response);" do anything? > > What will really help is to look at the stacktraces produced > - then go back > to the jasper generated files to get a better idea of > narrowing down when the > excpetion gets thrown. > > -Tim > > Abid Ali Teepo wrote: > > I don't understand Tim > > > > As far as i can see, i make no call to getOutputStream() > > > > And how come the exact same jsp-page will forward to my > "menu.jsp" but not to "safe.html". When i request the latter > i get this exception. > > > > Here is my JSP : > > <%@ page import="Bid.BidSession"%> > > <% > > BidSession bidSession = > BidSession.readParameters(request, "AUTHCLIENT"); > > RequestDispatcher rd = request.getRequestDispatcher("BidProxy"); > > rd.include(request, response); > > session.setAttribute("bid.authenticated",new String("true")); > > > > String pageWanted = > (String)session.getAttribute("bid.pageWanted"); > > > > if(pageWanted!=null && !"".equals(pageWanted)) { > > System.out.println("PageWanted in netbid_done:" > +pageWanted); > > rd = request.getRequestDispatcher(pageWanted); > > rd.forward(request, response); > > } else { > > rd = request.getRequestDispatcher("/secure/menu.jsp"); > > rd.forward(request, response); > > } > > %> > > > > Could you please pinpoint my error ? > > > > Abid > > > > > > -----Original Message----- > > From: Tim Funk [mailto:[EMAIL PROTECTED] > > Sent: 11. juli 2003 17:13 > > To: Tomcat Users List > > Subject: Re: Exception:getOutputStream() has already been called for > > this response > > > > > > You have code which is getting the response's output > stream, then NOT using it. > > > > Then your JSP is trying to gett the writer. > > > > You can get one or the other, not both. > > > > -Tim > > > > Abid Ali Teepo wrote: > > > >>Hi > >> > >>Anyone recognize this exception : > >> > >>org.apache.jasper.JasperException: getOutputStream() has > already been called for this response > >> > >>I get this exception when using requestDispatcher to forward to a > >>html file. The exact same code works when i forward to a jsp file ?? > >> > >>Here is some code : > >>pageWanted is "/secure/safe.html" > >> > >>if(pageWanted!=null && !"".equals(pageWanted)) { > >> rd = request.getRequestDispatcher(pageWanted); > >> rd.forward(request, response); > >> } else { > >> rd = request.getRequestDispatcher("/secure/menu.jsp"); > >> rd.forward(request, response); > >> } > >> > >>Any suggestions ? > >> > >>Abid > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
