KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > servlets > FillServlet


1 /*
2  * ============================================================================
3  * GNU Lesser General Public License
4  * ============================================================================
5  *
6  * JasperReports - Free Java report-generating library.
7  * Copyright (C) 2001-2006 JasperSoft Corporation http://www.jaspersoft.com
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * version 2.1 of the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
22  *
23  * JasperSoft Corporation
24  * 303 Second Street, Suite 450 North
25  * San Francisco, CA 94107
26  * http://www.jaspersoft.com
27  */

28 package servlets;
29
30 import java.io.File JavaDoc;
31 import java.io.IOException JavaDoc;
32 import java.io.PrintWriter JavaDoc;
33 import java.util.HashMap JavaDoc;
34 import java.util.Map JavaDoc;
35
36 import javax.servlet.ServletContext JavaDoc;
37 import javax.servlet.ServletException JavaDoc;
38 import javax.servlet.http.HttpServlet JavaDoc;
39 import javax.servlet.http.HttpServletRequest JavaDoc;
40 import javax.servlet.http.HttpServletResponse JavaDoc;
41
42 import net.sf.jasperreports.engine.JRException;
43 import net.sf.jasperreports.engine.JRRuntimeException;
44 import net.sf.jasperreports.engine.JasperFillManager;
45 import net.sf.jasperreports.engine.JasperPrint;
46 import net.sf.jasperreports.j2ee.servlets.BaseHttpServlet;
47 import datasource.WebappDataSource;
48
49
50 /**
51  * @author Teodor Danciu (teodord@users.sourceforge.net)
52  * @version $Id: FillServlet.java 1236 2006-04-22 10:51:44 +0300 (Sat, 22 Apr 2006) teodord $
53  */

54 public class FillServlet extends HttpServlet JavaDoc
55 {
56
57
58     /**
59      *
60      */

61     public void service(
62         HttpServletRequest JavaDoc request,
63         HttpServletResponse JavaDoc response
64         ) throws IOException JavaDoc, ServletException JavaDoc
65     {
66         ServletContext JavaDoc context = this.getServletConfig().getServletContext();
67
68         response.setContentType("text/html");
69         PrintWriter JavaDoc out = response.getWriter();
70
71         try
72         {
73             String JavaDoc reportFileName = context.getRealPath("/reports/WebappReport.jasper");
74             File JavaDoc reportFile = new File JavaDoc(reportFileName);
75             if (!reportFile.exists())
76                 throw new JRRuntimeException("File WebappReport.jasper not found. The report design must be compiled first.");
77
78             Map JavaDoc parameters = new HashMap JavaDoc();
79             parameters.put("ReportTitle", "Address Report");
80             parameters.put("BaseDir", reportFile.getParentFile());
81                         
82             JasperPrint jasperPrint =
83                 JasperFillManager.fillReport(
84                     reportFileName,
85                     parameters,
86                     new WebappDataSource()
87                     );
88                         
89             request.getSession().setAttribute(BaseHttpServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint);
90         }
91         catch (JRException e)
92         {
93             out.println("<html>");
94             out.println("<head>");
95             out.println("<title>JasperReports - Web Application Sample</title>");
96             out.println("<link rel=\"stylesheet\" type=\"text/css\" HREF=\"../stylesheet.css\" title=\"Style\">");
97             out.println("</head>");
98             
99             out.println("<body bgcolor=\"white\">");
100
101             out.println("<span class=\"bnew\">JasperReports encountered this error :</span>");
102             out.println("<pre>");
103
104             e.printStackTrace(out);
105
106             out.println("</pre>");
107
108             out.println("</body>");
109             out.println("</html>");
110         }
111
112         out.println("<html>");
113         out.println("<head>");
114         out.println("<title>JasperReports - Web Application Sample</title>");
115         out.println("<link rel=\"stylesheet\" type=\"text/css\" HREF=\"../stylesheet.css\" title=\"Style\">");
116         out.println("</head>");
117         
118         out.println("<body bgcolor=\"white\">");
119
120         out.println("<span class=\"bold\">The compiled report design was successfully filled with data.</span>");
121
122         out.println("</body>");
123         out.println("</html>");
124     }
125
126
127 }
128
Popular Tags