I am integrating JasperReports in my project but I am new to Jasper Report, So I have written a servlet , which will compile, fill report and export to pdf. After that I have to send outputstreem to jsp and display the pdf on client side.
I have done like this.
  <a href="VehicleReports">Vehicle Report</a>
and in doPost() method I have written like this.
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Connection con=null;
        try {
          response.setContentType("application/pdf"); 
          con=VehicleDetails.getConnection();
          InputStream inputStream = new FileInputStream ("E:/ReportFld/report4.jrxml");
          Map parameters = new HashMap();
          JasperDesign jasperDesign = JRXmlLoader.load(inputStream);
          JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
          @SuppressWarnings("unchecked")
          JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, con);
          JasperExportManager.exportReportToPdfFile(jasperPrint, "D:/reports/vehicle2_jasper.pdf");
            int len = (int)new File("D:/reports/vehicle2_jasper.pdf").length(); 
            response.setContentLength(len); 
            byte[] buf = new byte[len]; 
            FileInputStream pdfin = new FileInputStream("D:/reports/vehicle2_jasper.pdf"); 
            pdfin.read(buf); 
            pdfin.close(); 
            OutputStream pdfout = response.getOutputStream(); 
            pdfout.write(buf,0,len); 
            pdfout.flush();  
            request.getRequestDispatcher("/vehicleReport.jsp").forward(request, response);
        }catch(Exception e){ 
           e.printStackTrace();
         }finally{
            try {
                con.close();
            }catch (SQLException e) { 
                e.printStackTrace();
            }
        }
    }
But here what I feel is, the response is not sending to /vehicleReport.jsp file , instead the generated pdf is getting downloaded. and also I am getting error in console as,
java.lang.IllegalStateException: Cannot forward after response has been committed
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:348)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)
at com.reports.VehicleReports.doGet(VehicleReports.java:78)
How can I solve this can any one help me in this?
 
     
    