连接数据库的代码: package com.util.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Conn_Util { private static String DBDRIVER="oracle.jdbc.driver.OracleDriver"; private static String DBURL="jdbc:oracle:thin:@10.137.31.40:1521:ORCL"; private static String DBUSER="nc56test"; private static String DBPASSWORD="test"; private Conn_Util(){} public static Connection getConn() { Connection conn = null; try { Class.forName(DBDRIVER); conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } } jsp中的主要代码: File reportFile = new File(this.getServletContext().getRealPath("/report/test.jasper")); Map<String,String> parameters = new HashMap<String,String>(); //sql在这里传过去,这里的SQLSTR与ireport中的parameter定义的应该一样 parameters.put("SQLSTR","select deptid,sum(salay) as counter from test group by deptid order by deptid"); // JasperRunManager.runReportToHtmlFile(reportFile.getPath(),parameters,Conn_Util.getConn()); // response.sendRedirect("ireport/test.html"); byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath(),parameters,Conn_Util.getConn()); response.setContentType("application/pdf"); response.setContentLength(bytes.length); ServletOutputStream outStream = response.getOutputStream(); outStream.write(bytes,0,bytes.length); outStream.flush(); outStream.close(); out.clear(); out = pageContext.pushBody(); 记住:在运行的时候别忘记了加jar包, 运行jsp就能显示pdf了