linux下jfreechart不显示图片,方法写在action中,jsp调action
jfreechart功能在window下可以实现,现在放到linux中就不显示图片,已经试过了修改CATALINA_OPTS="-Djava.awt.headless=true"这个修改配置,还是不行,后来采用修改jfreechart生成的路径,(不修改路径默认是生成在tomcat中temp文件夹中,发现在linux下tomcat7无temp文件夹),就修改图片生成路径,( String JFpath = ServletActionContext.getRequest().getRealPath(File.separator+"chart");
File file = new File(JFpath+File.separator+"ListAllFruit4Pie2Action.png");
System.out.println(JFpath);
try {
ChartUtilities.saveChartAsPNG(file, chart, 700, 300);
} catch (
IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
})
发现在window可以找到自建chart文件下的图片,换到linux后发现,在linux中在chart文件夹下有文件,但是size为0,就是说生成的是一个不能用的文件,点开也无显,试过多种方法还是不行,求助!!
linux
jfreechart
图片不显示
action
jsp
------解决方案--------------------String filePath = this.getRequest().getRealPath( "jsp/report/");
String charName = timeSlot.png;
FileOutputStream fos_jpg = null;
String chartName =path+charName;
try
{
isChartPathExist(path);
fos_jpg = new FileOutputStream(chartName);
// 将报表保存为png文件
ChartUtilities.writeChartAsPNG(fos_jpg, chart, 1055, 410);
}catch(Exception e){
System.out.println(e);
}
return chartName;