我在windows中使用没有问题,但是在linux下,用的tomcat服务器,可是在页面中怎么也不显示JfreeChart生成的图片(我已经在修改了web.xml,和windows一样)。我已经在/etc/profile中添加了export CATALINA_OPTS="-Djava.awt.headless=true",还需要配置其他的吗?

解决方案 »

  1.   

    <%@page contentType="text/html; charset=UTF-8" %>
    <%@ page import="org.jfree.chart.JFreeChart"%><!--图形生成类-->
    <%@ page import="org.jfree.chart.ChartFactory"%><!--基于JFreeChart创建图形具体方法类-->
    <%@ page import="org.jfree.data.category.DefaultCategoryDataset"%><!--数据容器类-->
    <%@ page import="org.jfree.chart.plot.PlotOrientation"%><!--坐标轴类型类(HORIZONTAL/VERTICAL)-->
    <%@ page import="org.jfree.chart.plot.CategoryPlot"%><!--美化坐标-->
    <%@ page import="org.jfree.chart.axis.CategoryAxis"%><!--绘制坐标-->
    <%@ page import="org.jfree.chart.axis.ValueAxis"%>
    <%@ page import="org.jfree.chart.axis.AxisLocation"%>
    <%@ page import="org.jfree.chart.labels.StandardCategoryItemLabelGenerator"%>
    <%@ page import="org.jfree.chart.renderer.category.BarRenderer3D"%><!--Bar3D,以便CategoryPlot-->
    <%@ page import="org.jfree.util.TableOrder"%><!--饼图排序方式(BY_ROW/BY_COLUMN)-->
    <%@ page import="java.awt.Color"%><!--颜色设置函数-->
    <%@ page import="org.jfree.chart.servlet.ServletUtilities"%><!--生成图片类--><table><% //加入数据,DefaultCategoryDataset类型数据适合于柱型图和折线图
    DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.addValue(200, "北京", "西瓜");
    dataset.addValue(300, "北京", "苹果");
    dataset.addValue(240, "北京", "香蕉");
    dataset.addValue(368, "北京", "桔子");
    dataset.addValue(220, "杭州", "西瓜");
    dataset.addValue(350, "杭州", "苹果");
    dataset.addValue(290, "杭州", "香蕉");
    dataset.addValue(568, "杭州", "桔子");
    //生成图形(3D柱型图:createBarChart3D)
    JFreeChart chart_Bar3D = ChartFactory.createBarChart3D("统计图", 
      "水果",
      "销量",
      dataset,//数据
      PlotOrientation.VERTICAL,//坐标轴类型
      true,
      false,
      false);
      
    //输出图形
    filename = ServletUtilities.saveChartAsPNG(chart_Bar3D, 500, 300, null, session);
    graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
    %>  
      <tr>
    <td align="center">
    <img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#<%= filename %>">
    </td>
      </tr>
    <%
    //}
    %>
    </table>
      

  2.   

    顶一下,我的有图。环境和你一样,就是中文没有显示。
    http://www.neb.net.cn/jfreechart
      

  3.   

    我的一些配置:
    linux系统:Fedoras3.0
    java环境:jdk1.4.2_06
    使用tomcat服务器
    JFreeChart版本是1.0.0的