
jsp调用jasperreport生成报表问题
报错:java.io.StreamCorruptedException:invalidstreamheader:3C3F786D<%//报表编译之后生成的.jasper文...
报错:java.io.StreamCorruptedException: invalid stream header: 3C3F786D
<%
//报表编译之后生成的.jasper 文件的存放位置
File reportFile = new File(application.getRealPath("report3.jrxml"));
//这个是用来联接我的SQL Server 的JDBC URL
String url ="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=IPNetAnalyse";
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
//传递报表中用到的参数值
Map parameters = new HashMap();
//"Name"是报表中定义过的一个参数名称,其类型为String 型
parameters.put("Namepp", new String("bb"));
System.out.println("---------conn-------------");
//连接到数据库
Connection conn = DriverManager.getConnection(url,"sa", "sa");
System.out.println("---------Jasper begin-------------");
//在控制台显示一下报表文件的物理路径
System.out.println(reportFile.getPath());
byte[] bytes=JasperRunManager.runReportToPdf(reportFile.getPath(),parameters,conn);
System.out.println("---------Jasper end-------------");
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
%>
byte[] bytes=JasperRunManager.runReportToPdf(reportFile.getPath(),parameters,conn);说是这句错了
可不可以不要parameters参数啊!
如果可以又用什么方法? 展开
<%
//报表编译之后生成的.jasper 文件的存放位置
File reportFile = new File(application.getRealPath("report3.jrxml"));
//这个是用来联接我的SQL Server 的JDBC URL
String url ="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=IPNetAnalyse";
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
//传递报表中用到的参数值
Map parameters = new HashMap();
//"Name"是报表中定义过的一个参数名称,其类型为String 型
parameters.put("Namepp", new String("bb"));
System.out.println("---------conn-------------");
//连接到数据库
Connection conn = DriverManager.getConnection(url,"sa", "sa");
System.out.println("---------Jasper begin-------------");
//在控制台显示一下报表文件的物理路径
System.out.println(reportFile.getPath());
byte[] bytes=JasperRunManager.runReportToPdf(reportFile.getPath(),parameters,conn);
System.out.println("---------Jasper end-------------");
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
%>
byte[] bytes=JasperRunManager.runReportToPdf(reportFile.getPath(),parameters,conn);说是这句错了
可不可以不要parameters参数啊!
如果可以又用什么方法? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询