1 28 package servlets; 29 30 import java.io.File ; 31 import java.io.IOException ; 32 import java.io.PrintWriter ; 33 import java.util.HashMap ; 34 import java.util.Map ; 35 36 import javax.servlet.ServletContext ; 37 import javax.servlet.ServletException ; 38 import javax.servlet.http.HttpServlet ; 39 import javax.servlet.http.HttpServletRequest ; 40 import javax.servlet.http.HttpServletResponse ; 41 42 import net.sf.jasperreports.engine.JRException; 43 import net.sf.jasperreports.engine.JRExporterParameter; 44 import net.sf.jasperreports.engine.JRRuntimeException; 45 import net.sf.jasperreports.engine.JasperFillManager; 46 import net.sf.jasperreports.engine.JasperPrint; 47 import net.sf.jasperreports.engine.JasperReport; 48 import net.sf.jasperreports.engine.export.JRHtmlExporter; 49 import net.sf.jasperreports.engine.export.JRHtmlExporterParameter; 50 import net.sf.jasperreports.engine.util.JRLoader; 51 import net.sf.jasperreports.j2ee.servlets.ImageServlet; 52 import datasource.WebappDataSource; 53 54 55 59 public class HtmlServlet extends HttpServlet 60 { 61 62 63 66 public void service( 67 HttpServletRequest request, 68 HttpServletResponse response 69 ) throws IOException , ServletException 70 { 71 ServletContext context = this.getServletConfig().getServletContext(); 72 73 response.setContentType("text/html"); 74 PrintWriter out = response.getWriter(); 75 76 try 77 { 78 File reportFile = new File (context.getRealPath("/reports/WebappReport.jasper")); 79 if (!reportFile.exists()) 80 throw new JRRuntimeException("File WebappReport.jasper not found. The report design must be compiled first."); 81 82 JasperReport jasperReport = (JasperReport)JRLoader.loadObject(reportFile.getPath()); 83 84 Map parameters = new HashMap (); 85 parameters.put("ReportTitle", "Address Report"); 86 parameters.put("BaseDir", reportFile.getParentFile()); 87 88 JasperPrint jasperPrint = 89 JasperFillManager.fillReport( 90 jasperReport, 91 parameters, 92 new WebappDataSource() 93 ); 94 95 JRHtmlExporter exporter = new JRHtmlExporter(); 96 97 request.getSession().setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint); 98 99 exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); 100 exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out); 101 exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "image?image="); 102 103 exporter.exportReport(); 104 } 105 catch (JRException e) 106 { 107 out.println("<html>"); 108 out.println("<head>"); 109 out.println("<title>JasperReports - Web Application Sample</title>"); 110 out.println("<link rel=\"stylesheet\" type=\"text/css\" HREF=\"../stylesheet.css\" title=\"Style\">"); 111 out.println("</head>"); 112 113 out.println("<body bgcolor=\"white\">"); 114 115 out.println("<span class=\"bnew\">JasperReports encountered this error :</span>"); 116 out.println("<pre>"); 117 118 e.printStackTrace(out); 119 120 out.println("</pre>"); 121 122 out.println("</body>"); 123 out.println("</html>"); 124 } 125 } 126 127 128 } 129 | Popular Tags |