JasperReports打印空PDF

时间:2012-02-03 03:38:26

标签: java jsp servlets jasper-reports

我正在尝试使用带有java servlet的JasperReports从数据库中的数据生成pdf文件。我第一次使用数据库中的数据成功生成pdf文件。然后我在数据库表中进行了一些更改并重新创建了jrxml文件,并使用该jasper文件创建了一个jrxml文件。但是现在当我尝试生成pdf时,pdf文件始终为空。

我的Servlet中的代码

response.setContentType("application/pdf");
try {

    HttpSession hs = request.getSession();
    String id = (String) hs.getAttribute("id");

    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/exam", "root", "pass");
    Statement statement = con.createStatement();
    ResultSet resultSet = statement.executeQuery 
            ("SELECT marks, date_time FROM result where sub_id = 1  and user_id = 3");

    ServletOutputStream set = response.getOutputStream();
    InputStream re = getServletConfig().getServletContext().getResourceAsStream("./results.jasper");
    JRResultSetDataSource resultSetDataSource = new JRResultSetDataSource(resultSet);
    JasperRunManager.runReportToPdfStream(re,set, new HashMap(), resultSetDataSource);

} catch (Exception e) {

}

我怎么解决这个问题?

1 个答案:

答案 0 :(得分:3)

将每catch更改为

...
} catch (Exception e) { 
    e.printStackTrace(); 
}

这将提供出错的详细信息,以及在哪里。