csvdsreportservlet.java

来自「利用jasperreports和Ireport做报表2」· Java 代码 · 共 51 行

JAVA
51
字号
package net.ensode.jasperbook;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.io.StringWriter;import java.util.HashMap;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.JasperRunManager;public class CsvDSReportServlet extends HttpServlet{  protected void doGet(HttpServletRequest request, HttpServletResponse response)      throws ServletException, IOException  {    ServletOutputStream servletOutputStream = response.getOutputStream();    InputStream reportStream = getServletConfig().getServletContext()        .getResourceAsStream("/reports/AircraftReport.jasper");    try    {      CsvDataSource csvDataSource = new CsvDataSource(new InputStreamReader(          getServletConfig().getServletContext().getResourceAsStream(              "/reports/AircraftData.csv")));      JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream,          new HashMap(), csvDataSource);      response.setContentType("application/pdf");      servletOutputStream.flush();      servletOutputStream.close();    }    catch (Exception e)    {      // display stack trace in the browser      StringWriter stringWriter = new StringWriter();      PrintWriter printWriter = new PrintWriter(stringWriter);      e.printStackTrace(printWriter);      response.setContentType("text/plain");      response.getOutputStream().print(stringWriter.toString());    }  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?