You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by jeyben <ja...@gmail.com> on 2007/06/10 23:01:43 UTC

Re: File Downloading in Tapestry

If you still uses this Bayeux component I can tell you that I have upgraded
the component library to match tapestry 4.1.1.

Further I have added a StreamLink (like the download link, but can take more
than one parameter). The name stream is more correct as it can stream any
data not just as a download.

The same goes for StreamAsset that is suitable for streaming images - like
charts and so.

Cheers,

Jacob von Eyben
http://ancientprogramming.blogspot.com


Dobrin Ivanov wrote:
> 
> Hi,
> 
> I have found this tapestry-bayeux.sourceforge.net - DownloadLink component
> and DownloadService fot Tapestry3. I have ported them for Tapestry 4 and
> it works:)
> I think this should be in the core Tapestry as the Upload component is
> already there...
> 
> 
> 
> ----- Original Message ----
> From: Dobrin Ivanov <do...@yahoo.com>
> To: Tapestry users <us...@tapestry.apache.org>
> Sent: Monday, October 9, 2006 8:27:00 PM
> Subject: RE: File Downloading in Tapestry
> 
> 
> Hi, Thanks! Seems that the following code works, but
> after the call to the lister method is finished the
> Tapestry framework throws a lot of exceptions .. see
> below. 
> Does anyone have an idea how to overcome this?
> =====================================================
>         FileInputStream in = new
> FileInputStream(file); 
>         response.setHeader("Content-disposition",
> "inline; filename=" + file.getName());
>         response.setContentType(mimetype);
>         response.setContentLength((int)size);
>         ServletOutputStream out =
> response.getOutputStream();
>   
>         while (in.read(data) > -1) {
>           out.write(data);
>         }
>         in.close();
>         response.flushBuffer();
> =====================================================
> 
> 
> 
> 1765203 [http-8080-Processor23] ERROR
> org.apache.tapestry.web.ServletWebResponse  - Unable
> to reset response buffer:
> java.lang.IllegalStateException
> java.lang.IllegalStateException
>         at
> org.apache.catalina.connector.ResponseFacade.reset(ResponseFacade.java:307)
>         at
> org.apache.tapestry.web.ServletWebResponse.reset(ServletWebResponse.java:128)
>         at
> org.apache.tapestry.web.ServletWebResponse.getPrintWriter(ServletWebResponse.java:90)
>         at
> $WebResponse_10e2dfd55ef.getPrintWriter($WebResponse_10e2dfd55ef.java)
>         at
> $WebResponse_10e2dfd54ca.getPrintWriter($WebResponse_10e2dfd54ca.java)
>         at
> org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:67)
>         at
> $ResponseRenderer_10e2dfd54e2.renderResponse($ResponseRenderer_10e2dfd54e2.java)
>         at
> org.apache.tapestry.error.ExceptionPresenterImpl.presentException(ExceptionPresenterImpl.java:46)
>         at
> $ExceptionPresenter_10e2dfd54d2.presentException($ExceptionPresenter_10e2dfd54d2.java)
>         at
> org.apache.tapestry.engine.AbstractEngine.activateExceptionPage(AbstractEngine.java:121)
>         at
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:280)
>         at
> org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
>         at
> $WebRequestServicer_10e2dfd552c.service($WebRequestServicer_10e2dfd552c.java)
>         at
> com.fmi.weprom.util.WepromRequestFilter.service(WepromRequestFilter.java:38)
>         at
> $WebRequestServicerFilter_10e2dfd552a.service($WebRequestServicerFilter_10e2dfd552a.java)
>         at
> $WebRequestServicer_10e2dfd552e.service($WebRequestServicer_10e2dfd552e.java)
>         at
> $WebRequestServicer_10e2dfd5526.service($WebRequestServicer_10e2dfd5526.java)
>         at
> org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56)
>         at
> $ServletRequestServicer_10e2dfd550c.service($ServletRequestServicer_10e2dfd550c.java)
>         at
> org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
>         at
> $ServletRequestServicerFilter_10e2dfd5508.service($ServletRequestServicerFilter_10e2dfd5508.java)
>         at
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
>         at
> org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
>         at
> $ServletRequestServicerFilter_10e2dfd5506.service($ServletRequestServicerFilter_10e2dfd5506.java)
>         at
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
>         at
> org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
>         at
> $ServletRequestServicerFilter_10e2dfd550a.service($ServletRequestServicerFilter_10e2dfd550a.java)
>         at
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
>         at
> $ServletRequestServicer_10e2dfd5500.service($ServletRequestServicer_10e2dfd5500.java)
>         at
> org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
>         at
> org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:79)
>         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(ApplicationFilterChain.java:252)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> com.fmi.weprom.impl.mysql.RequestFilter.doFilter(RequestFilter.java:39)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: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:869)
>         at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>         at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:595)
> 1765219 [http-8080-Processor23] WARN 
> tapestry.error.RequestExceptionReporter  - Unable to
> process client request: getOutputStream() has already
> been calle
> d for this response
> java.lang.IllegalStateException: getOutputStream() has
> already been called for this response
>         at
> org.apache.catalina.connector.Response.getWriter(Response.java:599)
>         at
> org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:195)
>         at
> org.apache.tapestry.web.ServletWebResponse.getPrintWriter(ServletWebResponse.java:110)
>         at
> $WebResponse_10e2dfd55ef.getPrintWriter($WebResponse_10e2dfd55ef.java)
>         at
> $WebResponse_10e2dfd54ca.getPrintWriter($WebResponse_10e2dfd54ca.java)
>         at
> org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:67)
>         at
> $ResponseRenderer_10e2dfd54e2.renderResponse($ResponseRenderer_10e2dfd54e2.java)
>         at
> org.apache.tapestry.engine.DirectService.service(DirectService.java:137)
>         at
> $IEngineService_10e2dfd554f.service($IEngineService_10e2dfd554f.java)
>         at
> org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:66)
>         at
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:248)
>         at
> org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
>         at
> $WebRequestServicer_10e2dfd552c.service($WebRequestServicer_10e2dfd552c.java)
>         at
> com.fmi.weprom.util.WepromRequestFilter.service(WepromRequestFilter.java:38)
>         at
> $WebRequestServicerFilter_10e2dfd552a.service($WebRequestServicerFilter_10e2dfd552a.java)
>         at
> $WebRequestServicer_10e2dfd552e.service($WebRequestServicer_10e2dfd552e.java)
>         at
> $WebRequestServicer_10e2dfd5526.service($WebRequestServicer_10e2dfd5526.java)
>         at
> org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56)
>         at
> $ServletRequestServicer_10e2dfd550c.service($ServletRequestServicer_10e2dfd550c.java)
>         at
> org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
>         at
> $ServletRequestServicerFilter_10e2dfd5508.service($ServletRequestServicerFilter_10e2dfd5508.java)
>         at
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
>         at
> org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
>         at
> $ServletRequestServicerFilter_10e2dfd5506.service($ServletRequestServicerFilter_10e2dfd5506.java)
>         at
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
>         at
> org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
>         at
> $ServletRequestServicerFilter_10e2dfd550a.service($ServletRequestServicerFilter_10e2dfd550a.java)
>         at
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
>         at
> $ServletRequestServicer_10e2dfd5500.service($ServletRequestServicer_10e2dfd5500.java)
>         at
> org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
>         at
> org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:79)
>         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(ApplicationFilterChain.java:252)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> com.fmi.weprom.impl.mysql.RequestFilter.doFilter(RequestFilter.java:39)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: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:869)
>         at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>         at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:595)
> 
> 
> **********************************************************
> 
> 
> Unable to process client request: getOutputStream()
> has already been called for this response
> 
> 
>       Session id    : 144C20D7BAED7893631E1485A18F76E7
> 
> Exceptions:
> 
> java.lang.IllegalStateException: getOutputStream() has
> already been called for this response
> org.apache.catalina.connector.Response.getWriter(Response.java:599)
> org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:195)
> org.apache.tapestry.web.ServletWebResponse.getPrintWriter(ServletWebResponse.java:110)
> $WebResponse_10e2dfd55ef.getPrintWriter($WebResponse_10e2dfd55ef.java)
> $WebResponse_10e2dfd54ca.getPrintWriter($WebResponse_10e2dfd54ca.java)
> org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:67)
> $ResponseRenderer_10e2dfd54e2.renderResponse($ResponseRenderer_10e2dfd54e2.java)
> org.apache.tapestry.engine.DirectService.service(DirectService.java:137)
> $IEngineService_10e2dfd554f.service($IEngineService_10e2dfd554f.java)
> org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:66)
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:248)
> org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
> $WebRequestServicer_10e2dfd552c.service($WebRequestServicer_10e2dfd552c.java)
> com.fmi.weprom.util.WepromRequestFilter.service(WepromRequestFilter.java:38)
> $WebRequestServicerFilter_10e2dfd552a.service($WebRequestServicerFilter_10e2dfd552a.java)
> $WebRequestServicer_10e2dfd552e.service($WebRequestServicer_10e2dfd552e.java)
> $WebRequestServicer_10e2dfd5526.service($WebRequestServicer_10e2dfd5526.java)
> org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56)
> $ServletRequestServicer_10e2dfd550c.service($ServletRequestServicer_10e2dfd550c.java)
> org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
> $ServletRequestServicerFilter_10e2dfd5508.service($ServletRequestServicerFilter_10e2dfd5508.java)
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
> org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
> $ServletRequestServicerFilter_10e2dfd5506.service($ServletRequestServicerFilter_10e2dfd5506.java)
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
> org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
> $ServletRequestServicerFilter_10e2dfd550a.service($ServletRequestServicerFilter_10e2dfd550a.java)
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
> $ServletRequestServicer_10e2dfd5500.service($ServletRequestServicer_10e2dfd5500.java)
> org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
> org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:79)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> com.fmi.weprom.impl.mysql.RequestFilter.doFilter(RequestFilter.java:39)
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> java.lang.Thread.run(Thread.java:595)
> 
> **********************************************************
> 
> 1765281 [http-8080-Processor23] WARN 
> tapestry.error.RequestExceptionReporter  - Unable to
> present exception page: getOutputStream() has already
> been calle
> d for this response
> java.lang.IllegalStateException: getOutputStream() has
> already been called for this response
>         at
> org.apache.catalina.connector.Response.getWriter(Response.java:599)
>         at
> org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:195)
>         at
> org.apache.tapestry.web.ServletWebResponse.getPrintWriter(ServletWebResponse.java:110)
>         at
> $WebResponse_10e2dfd55ef.getPrintWriter($WebResponse_10e2dfd55ef.java)
>         at
> $WebResponse_10e2dfd54ca.getPrintWriter($WebResponse_10e2dfd54ca.java)
>         at
> org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:67)
>         at
> $ResponseRenderer_10e2dfd54e2.renderResponse($ResponseRenderer_10e2dfd54e2.java)
>         at
> org.apache.tapestry.error.ExceptionPresenterImpl.presentException(ExceptionPresenterImpl.java:46)
>         at
> $ExceptionPresenter_10e2dfd54d2.presentException($ExceptionPresenter_10e2dfd54d2.java)
>         at
> org.apache.tapestry.engine.AbstractEngine.activateExceptionPage(AbstractEngine.java:121)
>         at
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:280)
>         at
> org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
>         at
> $WebRequestServicer_10e2dfd552c.service($WebRequestServicer_10e2dfd552c.java)
>         at
> com.fmi.weprom.util.WepromRequestFilter.service(WepromRequestFilter.java:38)
>         at
> $WebRequestServicerFilter_10e2dfd552a.service($WebRequestServicerFilter_10e2dfd552a.java)
>         at
> $WebRequestServicer_10e2dfd552e.service($WebRequestServicer_10e2dfd552e.java)
>         at
> $WebRequestServicer_10e2dfd5526.service($WebRequestServicer_10e2dfd5526.java)
>         at
> org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56)
>         at
> $ServletRequestServicer_10e2dfd550c.service($ServletRequestServicer_10e2dfd550c.java)
>         at
> org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
>         at
> $ServletRequestServicerFilter_10e2dfd5508.service($ServletRequestServicerFilter_10e2dfd5508.java)
>         at
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
>         at
> org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
>         at
> $ServletRequestServicerFilter_10e2dfd5506.service($ServletRequestServicerFilter_10e2dfd5506.java)
>         at
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
>         at
> org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
>         at
> $ServletRequestServicerFilter_10e2dfd550a.service($ServletRequestServicerFilter_10e2dfd550a.java)
>         at
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
>         at
> $ServletRequestServicer_10e2dfd5500.service($ServletRequestServicer_10e2dfd5500.java)
>         at
> org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
>         at
> org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:79)
>         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(ApplicationFilterChain.java:252)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> com.fmi.weprom.impl.mysql.RequestFilter.doFilter(RequestFilter.java:39)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: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:869)
>         at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>         at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:595)
> 
> 
> **********************************************************
> 
> 
> Unable to present exception page: getOutputStream()
> has already been called for this response
> 
> 
>       Session id    : 144C20D7BAED7893631E1485A18F76E7
> 
> Exceptions:
> 
> java.lang.IllegalStateException: getOutputStream() has
> already been called for this response
> org.apache.catalina.connector.Response.getWriter(Response.java:599)
> org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:195)
> org.apache.tapestry.web.ServletWebResponse.getPrintWriter(ServletWebResponse.java:110)
> $WebResponse_10e2dfd55ef.getPrintWriter($WebResponse_10e2dfd55ef.java)
> $WebResponse_10e2dfd54ca.getPrintWriter($WebResponse_10e2dfd54ca.java)
> org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:67)
> $ResponseRenderer_10e2dfd54e2.renderResponse($ResponseRenderer_10e2dfd54e2.java)
> org.apache.tapestry.error.ExceptionPresenterImpl.presentException(ExceptionPresenterImpl.java:46)
> $ExceptionPresenter_10e2dfd54d2.presentException($ExceptionPresenter_10e2dfd54d2.java)
> org.apache.tapestry.engine.AbstractEngine.activateExceptionPage(AbstractEngine.java:121)
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:280)
> org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
> $WebRequestServicer_10e2dfd552c.service($WebRequestServicer_10e2dfd552c.java)
> com.fmi.weprom.util.WepromRequestFilter.service(WepromRequestFilter.java:38)
> $WebRequestServicerFilter_10e2dfd552a.service($WebRequestServicerFilter_10e2dfd552a.java)
> $WebRequestServicer_10e2dfd552e.service($WebRequestServicer_10e2dfd552e.java)
> $WebRequestServicer_10e2dfd5526.service($WebRequestServicer_10e2dfd5526.java)
> org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56)
> $ServletRequestServicer_10e2dfd550c.service($ServletRequestServicer_10e2dfd550c.java)
> org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
> $ServletRequestServicerFilter_10e2dfd5508.service($ServletRequestServicerFilter_10e2dfd5508.java)
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
> org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
> $ServletRequestServicerFilter_10e2dfd5506.service($ServletRequestServicerFilter_10e2dfd5506.java)
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
> org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
> $ServletRequestServicerFilter_10e2dfd550a.service($ServletRequestServicerFilter_10e2dfd550a.java)
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
> $ServletRequestServicer_10e2dfd5500.service($ServletRequestServicer_10e2dfd5500.java)
> org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
> org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:79)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> com.fmi.weprom.impl.mysql.RequestFilter.doFilter(RequestFilter.java:39)
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> java.lang.Thread.run(Thread.java:595)
> 
> **********************************************************
> 
> 1765297 [http-8080-Processor23] ERROR
> org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/weprom]
> - weprom: ServletException
> javax.servlet.ServletException: getOutputStream() has
> already been called for this response
>         at
> org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:60)
>         at
> $ServletRequestServicer_10e2dfd550c.service($ServletRequestServicer_10e2dfd550c.java)
>         at
> org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
>         at
> $ServletRequestServicerFilter_10e2dfd5508.service($ServletRequestServicerFilter_10e2dfd5508.java)
>         at
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
>         at
> org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
>         at
> $ServletRequestServicerFilter_10e2dfd5506.service($ServletRequestServicerFilter_10e2dfd5506.java)
>         at
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
>         at
> org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
>         at
> $ServletRequestServicerFilter_10e2dfd550a.service($ServletRequestServicerFilter_10e2dfd550a.java)
>         at
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
>         at
> $ServletRequestServicer_10e2dfd5500.service($ServletRequestServicer_10e2dfd5500.java)
>         at
> org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
>         at
> org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:79)
>         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(ApplicationFilterChain.java:252)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> com.fmi.weprom.impl.mysql.RequestFilter.doFilter(RequestFilter.java:39)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: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:869)
>         at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>         at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:595)
> 
> 
> **********************************************************
> 
> 
> javax.servlet.ServletException: getOutputStream() has
> already been called for this response
> 
> org.apache.hivemind.ApplicationRuntimeException:
> getOutputStream() has already been called for this
> response
> 
> java.lang.IllegalStateException: getOutputStream() has
> already been called for this response
> org.apache.catalina.connector.Response.getWriter(Response.java:599)
> org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:195)
> org.apache.tapestry.web.ServletWebResponse.getPrintWriter(ServletWebResponse.java:110)
> $WebResponse_10e2dfd55ef.getPrintWriter($WebResponse_10e2dfd55ef.java)
> $WebResponse_10e2dfd54ca.getPrintWriter($WebResponse_10e2dfd54ca.java)
> org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:67)
> $ResponseRenderer_10e2dfd54e2.renderResponse($ResponseRenderer_10e2dfd54e2.java)
> org.apache.tapestry.error.ExceptionPresenterImpl.presentException(ExceptionPresenterImpl.java:46)
> $ExceptionPresenter_10e2dfd54d2.presentException($ExceptionPresenter_10e2dfd54d2.java)
> org.apache.tapestry.engine.AbstractEngine.activateExceptionPage(AbstractEngine.java:121)
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:280)
> org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
> $WebRequestServicer_10e2dfd552c.service($WebRequestServicer_10e2dfd552c.java)
> com.fmi.weprom.util.WepromRequestFilter.service(WepromRequestFilter.java:38)
> $WebRequestServicerFilter_10e2dfd552a.service($WebRequestServicerFilter_10e2dfd552a.java)
> $WebRequestServicer_10e2dfd552e.service($WebRequestServicer_10e2dfd552e.java)
> $WebRequestServicer_10e2dfd5526.service($WebRequestServicer_10e2dfd5526.java)
> org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56)
> $ServletRequestServicer_10e2dfd550c.service($ServletRequestServicer_10e2dfd550c.java)
> org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
> $ServletRequestServicerFilter_10e2dfd5508.service($ServletRequestServicerFilter_10e2dfd5508.java)
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
> org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
> $ServletRequestServicerFilter_10e2dfd5506.service($ServletRequestServicerFilter_10e2dfd5506.java)
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
> org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
> $ServletRequestServicerFilter_10e2dfd550a.service($ServletRequestServicerFilter_10e2dfd550a.java)
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
> $ServletRequestServicer_10e2dfd5500.service($ServletRequestServicer_10e2dfd5500.java)
> org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
> org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:79)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> com.fmi.weprom.impl.mysql.RequestFilter.doFilter(RequestFilter.java:39)
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> java.lang.Thread.run(Thread.java:595)
> 
> **********************************************************
> 
> 1765406 [http-8080-Processor23] ERROR
> org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/weprom].[weprom]
> - Servlet.service() for servlet wep
> rom threw exception
> java.lang.IllegalStateException: getOutputStream() has
> already been called for this response
>         at
> org.apache.catalina.connector.Response.getWriter(Response.java:599)
>         at
> org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:195)
>         at
> org.apache.tapestry.web.ServletWebResponse.getPrintWriter(ServletWebResponse.java:110)
>         at
> $WebResponse_10e2dfd55ef.getPrintWriter($WebResponse_10e2dfd55ef.java)
>         at
> $WebResponse_10e2dfd54ca.getPrintWriter($WebResponse_10e2dfd54ca.java)
>         at
> org.apache.tapestry.services.impl.ResponseRendererImpl.renderResponse(ResponseRendererImpl.java:67)
>         at
> $ResponseRenderer_10e2dfd54e2.renderResponse($ResponseRenderer_10e2dfd54e2.java)
>         at
> org.apache.tapestry.error.ExceptionPresenterImpl.presentException(ExceptionPresenterImpl.java:46)
>         at
> $ExceptionPresenter_10e2dfd54d2.presentException($ExceptionPresenter_10e2dfd54d2.java)
>         at
> org.apache.tapestry.engine.AbstractEngine.activateExceptionPage(AbstractEngine.java:121)
>         at
> org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:280)
>         at
> org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
>         at
> $WebRequestServicer_10e2dfd552c.service($WebRequestServicer_10e2dfd552c.java)
>         at
> com.fmi.weprom.util.WepromRequestFilter.service(WepromRequestFilter.java:38)
>         at
> $WebRequestServicerFilter_10e2dfd552a.service($WebRequestServicerFilter_10e2dfd552a.java)
>         at
> $WebRequestServicer_10e2dfd552e.service($WebRequestServicer_10e2dfd552e.java)
>         at
> $WebRequestServicer_10e2dfd5526.service($WebRequestServicer_10e2dfd5526.java)
>         at
> org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56)
>         at
> $ServletRequestServicer_10e2dfd550c.service($ServletRequestServicer_10e2dfd550c.java)
>         at
> org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
>         at
> $ServletRequestServicerFilter_10e2dfd5508.service($ServletRequestServicerFilter_10e2dfd5508.java)
>         at
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
>         at
> org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
>         at
> $ServletRequestServicerFilter_10e2dfd5506.service($ServletRequestServicerFilter_10e2dfd5506.java)
>         at
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
>         at
> org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
>         at
> $ServletRequestServicerFilter_10e2dfd550a.service($ServletRequestServicerFilter_10e2dfd550a.java)
>         at
> $ServletRequestServicer_10e2dfd550e.service($ServletRequestServicer_10e2dfd550e.java)
>         at
> $ServletRequestServicer_10e2dfd5500.service($ServletRequestServicer_10e2dfd5500.java)
>         at
> org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)
>         at
> org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:79)
>         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(ApplicationFilterChain.java:252)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> com.fmi.weprom.impl.mysql.RequestFilter.doFilter(RequestFilter.java:39)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: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:869)
>         at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>         at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:595)
> 
> --- Detlef Schulze <d....@iliuk.com> wrote:
> 
>> For version 3 there is an example in the online FAQ.
>> Should work for 4
>> too.
>> 
>> 
>> -----Original Message-----
>> From: Dobrin Ivanov
>> [mailto:dobrin_s_ivanov@yahoo.com] 
>> Sent: Montag, 9. Oktober 2006 00:43
>> To: Tapestry users
>> Subject: File Downloading in Tapestry
>> 
>> Hi,
>> I'm wondering which is the best way to download
>> files
>> via Tapestry. It could be done via servlet, I have
>> found a good example here:
>> 
>> http://jspwiki.org/wiki/MakingADownloadServlet
>> 
>> But, is there another way to do it all in Tapestry?
>> ... or the above is the best solution?
>> 
>> __________________________________________________
>> Do You Yahoo!?
>> Tired of spam?  Yahoo! Mail has the best spam
>> protection around 
>> http://mail.yahoo.com 
>> 
>>
> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
>> users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail:
>> users-help@tapestry.apache.org
>> 
>> 
>>
> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
>> users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail:
>> users-help@tapestry.apache.org
>> 
>> 
> 
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Re%3A-File-Downloading-in-Tapestry-tf2476793.html#a11052329
Sent from the Tapestry - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org