jasperreport tools enhance and solve the report issue for your web
一.设计jasperreport报表,编译jasperreport的jasper文件,制作jasper文件用的是IReport的一个工具.基本流程就是:
1.建立数据库连接,我们使用了mysql的数据库
2.利用向导生成xml文件.向导上的内容比较简单清楚,关键是字段的引用.
3.保存后,编译可以得到jasper文件,运行可以看到效果.
1.建立数据库连接,我们使用了mysql的数据库
2.利用向导生成xml文件.向导上的内容比较简单清楚,关键是字段的引用.
3.保存后,编译可以得到jasper文件,运行可以看到效果.
二.加入应用
一个很简单的测试.在我们自己的项目中加入报表功能.大致步骤如下:
1.将相关的库放入项目的lib目录,这些库包括jasperreports.jar,bsh.jar,itext.jar
2.在web应用的根目录下建立Reports目录,将刚刚生成的jasper文件拷贝至该文件夹.
3.建立一个网页,作一个有提交按钮的简单网页即可.提交后由servlet处理.
4.servlet的内容: 以下只写了doGet的函数
1.将相关的库放入项目的lib目录,这些库包括jasperreports.jar,bsh.jar,itext.jar
2.在web应用的根目录下建立Reports目录,将刚刚生成的jasper文件拷贝至该文件夹.
3.建立一个网页,作一个有提交按钮的简单网页即可.提交后由servlet处理.
4.servlet的内容: 以下只写了doGet的函数
java 代码
- package com.aaron.kemet.servlet;
- import java.io.File;
- import java.io.IOException;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.util.HashMap;
- import java.util.Map;
- import javax.servlet.ServletContext;
- import javax.servlet.ServletException;
- import javax.servlet.ServletOutputStream;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import net.sf.jasperreports.engine.JRException;
- import net.sf.jasperreports.engine.JasperRunManager;
- /**
- *
- * @author Aaron
- * JasperReport
- *
- */
- public class ReportServlet extends HttpServlet {
- private static final long serialVersionUID = 1L;
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- response.setContentType("application/pdf");
- response.setHeader("Content-disposition","inline; filename=classic.pdf" );
- Connection conn = null;
- try {
- Class.forName("com.mysql.jdbc.Driver");
- conn = DriverManager.getConnection("jdbc:mysql://localhost/maxtor","nike", "bogie");
- ServletContext servletContext = this.getServletContext();
- File reportFile = new File(servletContext.getRealPath("Report/classic.jasper"));
- Map<String,Integer> parameters = new HashMap<String,Integer>();
- Integer i=new Integer(1);
- parameters.put("JPID", i);
- byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath(), parameters, conn);
- response.setContentLength(bytes.length);
- ServletOutputStream ouputStream = response.getOutputStream();
- ouputStream.write(bytes, 0, bytes.length);
- ouputStream.flush();
- ouputStream.close();
- } catch (JRException jre) {
- System.out.println("JRException:" + jre.getMessage());
- } catch (Exception e) {
- System.out.println("Exception:" + e.getMessage());
- }
- }
- }
6.ok,Start Tomcat6
http://localhost:8080/keb/ReportServlet