ireport打开PDF时出问题,一是出现getOutputStream()重复,二是内存不能读的问题
<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.sql.*" %>
<%
File reportFile = new File(application.getRealPath("/report33.jasper"));
String url ="jdbc:sqlserver://localhost:1433;databaseName=school";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
Map parameters = new HashMap();
Connection conn = DriverManager.getConnection(url,"sa", "19851023");
System.out.println(reportFile.getPath());
byte[] bytes=JasperRunManager.runReportToPdf(reportFile.getPath(),parameters,conn);
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
out.clear();
out = pageContext.pushBody();
%>
在文件尾加上的两句话
out.clear();

浙公网安备 33010602011771号