`
lengchaotian
  • 浏览: 279183 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

JFreechart web示例

阅读更多
JFreechart柱状图在springMVC中的实现

java公共代码

import java.awt.Font;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.data.category.DefaultCategoryDataset;

/**
* <JFreechart公共类>
* <功能详细描述>
* @author  zwq
* @version  [版本号, 2012-5-30]
* @see  [相关类/方法]
* @since  [产品/模块版本]
*/
public class CreateJFreechartUtil
{
    public String setImages(HttpServletRequest request, HttpServletResponse response)
        throws Exception
    {
        DefaultCategoryDataset dataset = getDataSet();
        JFreeChart chart = ChartFactory.createBarChart3D(
                        "水果产量图", //图表标题
            "水果", //目录轴的显示标签
            "产量", //数值轴的显示标签
            dataset, //数据集
            PlotOrientation.VERTICAL, //图表方向:水平、垂直
            true, //是否显示图例(对于简单的柱状图必须是false)
            false, //是否生成工具
            false //是否生成URL链接
        );
        //解决乱码问题
        setImageFont(chart);
       
        //生成图片
        String filename = ServletUtilities.saveChartAsPNG(chart, 600, 400, null, request.getSession());
       
        ServletContext servlet = request.getServletContext();
       
        //得到功能路径
        String imagePath_area = servlet.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
       
        return imagePath_area;
    }
   
    /**
     * 解决乱码问题
     */
    private void setImageFont(JFreeChart chart)
    {
        CategoryPlot plot = (CategoryPlot)chart.getPlot();
        CategoryAxis domainAxis = plot.getDomainAxis();
        ValueAxis numberaxis = plot.getRangeAxis();
       
        //设置标题文字
        chart.getTitle().setFont(new Font("宋体", Font.BOLD, 12));
       
        //设置X轴坐标上的文字   
        domainAxis.setTickLabelFont(new Font("黑体", Font.PLAIN, 11));
       
        //设置X 轴的标题文字 
        domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12));
       
        //设置Y 轴坐标上的文字  
        numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12));
       
        //设置Y 轴的标题文字
        numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 12));
       
        //设置底部文字
        chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));
    }
   
    /**
     * 获取一个组合数据集对象
     * @return
     */
    private DefaultCategoryDataset getDataSet()
    {
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
       
        dataset.addValue(100, "北京", "苹果");
        dataset.addValue(120, "上海", "苹果");
        dataset.addValue(380, "广州", "苹果");
        dataset.addValue(230, "北京", "梨子");
        dataset.addValue(200, "上海", "梨子");
        dataset.addValue(230, "广州", "梨子");
        dataset.addValue(400, "北京", "葡萄");
        dataset.addValue(300, "上海", "葡萄");
        dataset.addValue(500, "广州", "葡萄");
        return dataset;
    }
}

Spring Controller 调用

@RequestMapping("/getAllReportRule")
    public ModelAndView getAllReportRule(HttpServletRequest request, HttpServletResponse response,
        ReportRuleInfo reportRule) throws Exception
    {
        //创建CreateJFreechartUtil对象,调用setImages方法得到图片
        CreateJFreechartUtil createJfreechart = new CreateJFreechartUtil();
        String file = createJfreechart.setImages(request, response);
       
        List<ReportRuleInfo> reportList = reportService.getAllReportRule(reportRule);
        request.setAttribute("reportList", reportList);
        request.setAttribute("report", reportRule);
       
        //把得到的图片放到request范围里面
        request.setAttribute("file", file);
        return new ModelAndView("warning/report_rule_list");
    }

web.xml 配置

<servlet>
<servlet-name>jfreechart</servlet-name>
<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>jfreechart</servlet-name>
<url-pattern>/servlet/DisplayChart</url-pattern>
</servlet-mapping>

jsp 显示

<body>
<table width="99%" cellpadding="0" cellspacing="0" border="0"
align="center">
<tr>
<td>
<img alt="abc" src="${file}">
</td>
</tr>
</table>
</body>

  • 大小: 25.9 KB
分享到:
评论
1 楼 布衣凌宇 2014-12-23  
为什么会报java.lang.ClassNotFoundException: org.jfree.data.category.CategoryDataset这个错误呢

相关推荐

    JFreeChart示例

    集中了大部分的JFreeChart示例,并做了相应的接口,以WEB方式表现,使用前请将您的IDE工具字符集设置成UTF-8。

    基于jfreechart-1.0.6的WEB图表开发示例

    注:jfreechart的很多版本不兼容,请大家在运行此例时确认下载了对应的版本

    饼形图、柱形图实例 jfreechart (Java)

    jfreechart的饼形图、柱形图实例 解决jfreechart中的乱码问题

    JFreeChart

    JAVA的图表引擎JFreeChart用来产生基于WEB的图表,这里包含了它的基本操作步骤以及示例,提供给初学者学习或借鉴。

    jfreechart饼状图

    例如,在上面的示例代码中,我们使用了DefaultPieDataset类、PiePlot类和JFreeChart类来生成饼状图。 在生成饼状图时,还需要使用ServletUtilities类来保存图表到文件中。ServletUtilities类是jfreechart库中的一个...

    Java.web整合开发王者归来整本书内容及光盘源码

    示例丰富:提供了600余个从实际项目总结的示例程序,有较高的应用价值 工具详尽:详细介绍了SVN、L094J、JFreeChart、iText等开发工具 案例典型:用不同框架组合实现了论坛系统和分布式宠物商店系统

    JFreeChart基本使用及学习文档

    JFreeChart基本使用及学习文档,包含了柱状图、饼状图、曲线图统计的例子。适合简单使用和初期学习,最后一句建议,在web展示图片的时候注意客户单IE缓存的问题。

    jfreechart 折线图、饼状图、柱状图

    jfreechart 折线图、饼状图、柱状图在web页面上的应用,自己在网上找到点资料,然后写了个示例。 导入的myeclipse中部署即可。

    Java.Web整合开发王者归来4

    ①内容全面:涵盖了Java Web开发所涉及的所有核心技术与主流框架。 ②针对性强:以SSH框架整合开发为核心,可以满足95%的项目需求。 ③讲解到位:对每种技术都剖析最有价值的核心部分,绝不拖泥带水。 ④代码经典:...

    产品销售分析系统spring struts2 jfreechart ibatis

    1.1.1 查找并打开prodcut/WebRoot/WEB-INF/spring-context/applicationContext.xml文件。数据库配置引入 的是init.properties,读者也可自行更改。 1.1.2 数据库配置 修改工程中admanager/src/init.properties文件...

    Java.Web整合开发王者归来01

    ①内容全面:涵盖了Java Web开发所涉及的所有核心技术与主流框架。 ②针对性强:以SSH框架整合开发为核心,可以满足95%的项目需求。 ③讲解到位:对每种技术都剖析最有价值的核心部分,绝不拖泥带水。 ④代码经典:...

    java web 整合开发 王者归来 随书代码

    示例丰富:提供了600余个从实际项目总结的示例程序,有较高的应用价值 工具详尽:详细介绍了SVN、L094J、JFreeChart、iText等开发工具 案例典型:用不同框架组合实现了论坛系统和分布式宠物商店系统

    Java.Web整合开发王者归来2

    ①内容全面:涵盖了Java Web开发所涉及的所有核心技术与主流框架。 ②针对性强:以SSH框架整合开发为核心,可以满足95%的项目需求。 ③讲解到位:对每种技术都剖析最有价值的核心部分,绝不拖泥带水。 ④代码经典:...

    Java.Web整合开发王者归来6

    ①内容全面:涵盖了Java Web开发所涉及的所有核心技术与主流框架。 ②针对性强:以SSH框架整合开发为核心,可以满足95%的项目需求。 ③讲解到位:对每种技术都剖析最有价值的核心部分,绝不拖泥带水。 ④代码经典:...

    Java.Web整合开发王者归来3

    ①内容全面:涵盖了Java Web开发所涉及的所有核心技术与主流框架。 ②针对性强:以SSH框架整合开发为核心,可以满足95%的项目需求。 ③讲解到位:对每种技术都剖析最有价值的核心部分,绝不拖泥带水。 ④代码经典:...

    Java.Web整合开发王者归来5

    ①内容全面:涵盖了Java Web开发所涉及的所有核心技术与主流框架。 ②针对性强:以SSH框架整合开发为核心,可以满足95%的项目需求。 ③讲解到位:对每种技术都剖析最有价值的核心部分,绝不拖泥带水。 ④代码经典:...

    深入浅出Struts2(附源码)

    本书适合Java Web 程序员阅读和参考 第1章 Model 2应用程序 1 1.1 Model 2概览 1 1.2 带servlet控制器的Model 2 2 1.2.1 Product动作类 3 1.2.2 ControllerServlet类 4 1.2.3 视图 6 1.2.4 部署描述文件 8 ...

    funsionchart 的demo,包括funsionchart的通用类和dom4j的通用类

    java做web报表主要分为三类,一种在服务器生成图片,代表的组件有jfreechart,这种图片不美观,而且缺乏互动性。二种用javascript生成图片,同样也不是很漂亮。第三种是flash报表,这种报表美感和互动性都有了。 ...

    产品销售分析系统案例

    产品销售分析系统示例源码的目录结构介绍 /product: 案例项目工程源码。 /database: 案例数据库文件。 产品销售分析系统的安装配置介绍 运行环境: 1 Java平台选择JDK 6.0或更高版本。 2 Web服务器选择Tomcat 5.0...

    jsp 开发技术大全

    分别介绍了JSP基础、环境搭建和开发工具、Java语言基础、JSP语法、JSP内建对象、JavaBean技术、Servlet技术、JSP经典设计模式、数据库的安装与...文件上传与下载组件、JFreeChart JSP动态图表、报表组件、发送E...

Global site tag (gtag.js) - Google Analytics