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 <import>: 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]