我可以正确运行MyEclipse Tomcat中的项目,你可以从image1中看到它。
然后我将.war文件解密到Tomcat,我什么都没有,显示在image2中。
[失败的节目] [2]。
以下是关于exort的代码。
File reportFile = new File(this.getServletConfig().getServletContext().getRealPath("/report2.jasper"));
List<SatisfPieData> satisfPieDataList = satifyDao.querySatisfPieData(sql);
JRDataSource dataSource = new JRBeanCollectionDataSource(satisfPieDataList);
Map<String, Object> parameters = new HashMap<String, Object>();
try
{
PrintWriter out = response.getWriter();
try
{
//response.setContentType("text/html;charset=UTF-8");
response.setContentType("text/html");
JasperReport jasperReport = (JasperReport) JRLoader.loadObjectFromFile(reportFile.getPath());
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,parameters,dataSource);
HtmlExporter exporter = new HtmlExporter();
request.getSession().setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint);
exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
SimpleHtmlExporterOutput output = new SimpleHtmlExporterOutput(out);
output.setImageHandler(new WebHtmlResourceHandler("image?image={0}"));
exporter.setExporterOutput(output);
exporter.exportReport();
}
catch(JRException jre)
{
jre.printStackTrace();
}
finally
{
if(out!= null)
{
try
{
out.close();
}
catch(Exception e)
{
}
}
}
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
然后我调试Tomcat中的代码,并找到一个似乎有问题的函数。
JasperPrint jasperPrint =JasperFillManager.fillReport(jasperReport,parameters,dataSource)
似乎有一个错误,但我无法抓住它。该功能似乎没有结束或正在给出。
jasperPrint功能似乎没有结束:
有谁知道错误的原因?我会很感激。