Results 1 to 2 of 2
- 07-17-2012, 12:35 PM #1
Member
- Join Date
- Feb 2009
- Posts
- 25
- Rep Power
- 0
getOutputStream() has already been called for this response
For generating PDF reports I have used above code(jasper reports).Reports are generated properly but in server console it shows following exception.Java Code:try { reportFile = request.getRealPath("/")+"WEB-INF/Documents/TestCases/ScenarioDetails.jrxml"; JasperDesign jasperDesign = JRXmlLoader.load(reportFile); JasperReport report = JasperCompileManager.compileReport(jasperDesign); conn = dataSource.getConnection(); JasperPrint jasperPrint = JasperFillManager.fillReport(report,map, conn); conn.close(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); response.setContentType("application/pdf"); response.setHeader("Content-Disposition"," attachment; filename="+OfficeName+".pdf\""); export(jasperPrint,baos); writeReportToResponseStream(response,baos); }catch(Exception e) { e.printStackTrace(); } return new ModelAndView("top","model",model); private void writeReportToResponseStream(HttpServletResponse response,ByteArrayOutputStream baos) { System.out.println("Writing report to the stream"); ServletOutputStream outputStream = null; try { // Retrieve the output stream outputStream = response.getOutputStream(); // Write to the output stream baos.writeTo(outputStream); // Flush the stream outputStream.flush(); outputStream.close(); }catch (Exception e) { e.printStackTrace(); } } public void export(JasperPrint jasperPrint, ByteArrayOutputStream baos) throws JRException { JRPdfExporter exporter=new JRPdfExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos); exporter.exportReport(); }
ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: getOutputStream() has already been called for this response
at org.apache.catalina.connector.Response.getWriter(R esponse.java:604)
at org.apache.catalina.connector.ResponseFacade.getWr iter(ResponseFacade.java:198)
at javax.servlet.ServletResponseWrapper.getWriter(Ser vletResponseWrapper.java:112)
at org.apache.jasper.runtime.JspWriterImpl.initOut(Js pWriterImpl.java:125)
at org.apache.jasper.runtime.JspWriterImpl.flushBuffe r(JspWriterImpl.java:118)
at org.apache.jasper.runtime.PageContextImpl.release( PageContextImpl.java:178)
at org.apache.jasper.runtime.JspFactoryImpl.internalR eleasePageContext(JspFactoryImpl.java:117)
at org.apache.jasper.runtime.JspFactoryImpl.releasePa geContext(JspFactoryImpl.java:76)
how to fix this problem..Thanks in advanceLast edited by srinivasmallabathula; 07-17-2012 at 12:38 PM.
- 07-17-2012, 12:46 PM #2
Moderator
- Join Date
- Apr 2009
- Posts
- 10,438
- Rep Power
- 16
Re: getOutputStream() has already been called for this response
You've written to the output stream, but you then pass a model and view back up to Spring, presumably referencing a JSP page.Java Code:writeReportToResponseStream(response,baos); ... return new ModelAndView("top","model",model);
Spring tells Tomcat to forward to that JSP, and so Tomcat attempts to write it out....which it can't do as you've already written to the response stream.
So the solution is don't return the ModelAndView. Return 'null', which should tell Spring not to bother forwarding anywhere.Please do not ask for code as refusal often offends.
Similar Threads
-
Using getOutputStream() while getWriter() is open
By khkh82 in forum Advanced JavaReplies: 1Last Post: 06-06-2012, 12:20 PM -
response.getOutputStream used on MySQL request throwing IllegalStateException in JSP
By blobs in forum JavaServer Pages (JSP) and JSTLReplies: 2Last Post: 05-11-2012, 09:40 AM -
getOutputStream() has already been called for this response
By zuzacat in forum New To JavaReplies: 0Last Post: 06-23-2011, 12:02 PM -
SOAP|Java Response - IOException| Server response - a:System.Net.WebException
By bornster in forum XMLReplies: 0Last Post: 04-07-2011, 03:09 PM -
getOutputStream() exception
By Freddie in forum JavaServer Pages (JSP) and JSTLReplies: 3Last Post: 05-15-2007, 04:26 PM


LinkBack URL
About LinkBacks
Reply With Quote
Bookmarks