Why do you write that your Struts Action is the place that your code is
printing the raw file yet your stack trace shows you are in a JSP?  Is your
JSP invoking an action?  If so that's your problem: everything is probably
already committed, Stream-wise that is.  How are you getting to this action
code you included from a JSP?    Shouldn't JSP's and taglibs only use the
Writer?  Mixing that by calling some sort of action to get OutputStream
doesn't sound like a good idea, at least not according to the Tomcat Servlet
docs on interface ServletResponse method getOutputStream() and getWriter():
Either this method or getWriter() may be called to write the body, not both.

Regards,
David

-----Original Message-----
From: Xavier Vanderstukken [mailto:[EMAIL PROTECTED]
Sent: Tuesday, September 13, 2005 1:30 PM
To: Struts Users Mailing List
Subject: Re: Target servlet called getWriter(), then getOutputStream()


Any idea?

Xavier Vanderstukken wrote:

> I have a jsp page with 3links :
> - One open a popup and write a file in this popup
> - One to display some text informations on the same page
> - One to upload a file to the server (in fact the file displayed in
> the first link)
>
> The three link seems to work well however when I upload a new file
> (the new file is successfully uploaded) but after that the two others
> links are broken
>
> The instruction that produced the stack trace is on the struts action
> that write the file :
>
>                  response.setContentType(mimetype);
>                  OutputStream os = response.getOutputStream();    //
> <---- This line generates the stack
>                  tosend.writeTo(os);
>                  os.flush();
>
> I dont know why because I can call several time the method and it
> works well, the problem only occurs after an upload of a new file
>
> javax.servlet.jsp.JspException: ServletException in 'page.jsp':
> Unexpected internal error during &lt;import&gt: Target servlet called
> getWriter(), then getOutputStream()
>    at
>
org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.ja
va:923)
>
>    at
> org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:462)
>    at
>
org.apache.jsp.layout_jsp._jspx_meth_tiles_insert_2(org.apache.jsp.layout_js
p:207)
>
>    at
>
org.apache.jsp.layout_jsp._jspx_meth_html_html_0(org.apache.jsp.layout_jsp:1
28)
>
>    at org.apache.jsp.layout_jsp._jspService(org.apache.jsp.layout_jsp:73)
>    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>    at
>
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:3
22)
>
>    at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
>    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>    at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:252)
>
>    at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:173)
>
>    at
>
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.
java:672)
>
>    at
>
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDis
patcher.java:463)
>
>    at
>
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch
er.java:398)
>
>    at
>
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher
.java:301)
>
>    at
>
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:10
63)
>
>    at
>
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcesso
r.java:263)
>
>    at
>
org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRe
questProcessor.java:239)
>
>    at
>
org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(
TilesRequestProcessor.java:341)
>
>    at
>
org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.ja
va:560)
>
>    at
>
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:209)
>
>    at
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
>    at
> org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>    at
>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:252)
>
>    at
>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:173)
>
>    at
>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:213)
>
>    at
>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:178)
>
>    at
>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126
)
>
>    at
>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105
)
>
>    at
>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:107)
>
>    at
>
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>
>    at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
>
>    at
>
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:744)
>
>    at
>
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav
a:527)
>
>    at
>
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWo
rkerThread.java:80)
>
>    at
>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:684)
>
>    at java.lang.Thread.run(Unknown Source)
>
>
> ---------------------------------------------------------------------
> 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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to