jsp JFreeChart使用心得与例子

JSP JFreeChart使用心得与例子

简介

JFreeChart是一个Java开源的图表库,可以创建各种类型的图表,包括折线图、散点图、柱状图等等。JFreeChart的使用非常灵活,可以通过Java代码生成图表,也可以使用JSP等Web技术生成图表。

这篇文章主要介绍使用JSP结合JFreeChart生成图表的方法,并给出两个示例。

实现

引入JFreeChart

在使用JFreeChart前,需要先将JFreeChart的jar包引入项目中。可以从JFreeChart官网下载最新版本的jar包,也可以从Maven仓库中下载。将下载好的jar包放置到项目的classpath中。

生成折线图

首先,我们需要生成数据,并将数据传递给JFreeChart。下面是一个生成随机数据的方法。

private static XYDataset createDataset() {
    XYSeries series = new XYSeries("Random Data");
    Random r = new Random();
    for (int i = 0; i < 10; i++) {
        series.add(i, r.nextDouble() * 100);
    }
    XYSeriesCollection dataset = new XYSeriesCollection();
    dataset.addSeries(series);
    return dataset;
}

然后,我们需要将数据传递给JFreeChart,并生成图像。

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // create dataset
    XYDataset dataset = createDataset();

    // create chart
    JFreeChart chart = ChartFactory.createXYLineChart(
            "Random Data",
            "X",
            "Y",
            dataset,
            PlotOrientation.VERTICAL,
            true,
            true,
            false
    );

    // set response content type
    response.setContentType("image/png");

    // create output stream
    OutputStream out = response.getOutputStream();

    // write chart to output stream
    ChartUtilities.writeChartAsPNG(out, chart, 400, 300);

    // close output stream
    out.close();
}

最后,我们可以在JSP页面中使用<img>标签将生成的图像嵌入到页面中。

<img src="chart" />

生成饼状图

生成饼状图的方法与生成折线图的方法类似。

首先,我们需要生成数据,并将数据传递给JFreeChart。下面是一个生成随机数据的方法。

private static PieDataset createDataset() {
    DefaultPieDataset dataset = new DefaultPieDataset();
    Random r = new Random();
    for (int i = 1; i <= 5; i++) {
        dataset.setValue("Category " + i, r.nextInt(100));
    }
    return dataset;
}

然后,我们需要将数据传递给JFreeChart,并生成图像。

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // create dataset
    PieDataset dataset = createDataset();

    // create chart
    JFreeChart chart = ChartFactory.createPieChart(
            "Random Data",
            dataset,
            true,
            true,
            false
    );

    // set response content type
    response.setContentType("image/png");

    // create output stream
    OutputStream out = response.getOutputStream();

    // write chart to output stream
    ChartUtilities.writeChartAsPNG(out, chart, 400, 300);

    // close output stream
    out.close();
}

最后,我们可以在JSP页面中使用<img>标签将生成的图像嵌入到页面中。

<img src="chart" />

总结

通过以上两个示例,我们可以看到JSP结合JFreeChart生成图表非常简单。只需要将数据传递给JFreeChart,并将生成的图表写入输出流即可。有了这个基础,我们可以更加灵活地生成各种类型的图表,并将其嵌入到网页中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jsp JFreeChart使用心得与例子 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • java简单快速排序实例解析

    Java简单快速排序实例解析 快速排序是一种常用的排序算法,其本质是通过不断地把数列分成两个部分,分别进行递归排序,最终完成整个数列的排序。 实现思路 快速排序的实现思路如下: 选择一个基准元素,在数列中选择一个数作为基准元素pivot,一般选择第一个或者最后一个元素; 分割数组,将数列中所有小于基准元素的数放在它的左侧,所有大于基准元素的数放在它的右侧; …

    Java 2023年5月19日
    00
  • 详解JAVA Spring 中的事件机制

    详解JAVA Spring 中的事件机制 事件机制 Java Spring框架中的事件机制基于观察者模式实现,核心概念包括: 事件(Event): 表示一个操作或状态的变更,通常是一个类或一个接口; 事件源(Event Source): 触发事件的对象,通常是一个类或一个接口; 应用程序监听器(Application Listener): 监听事件的组件,通…

    Java 2023年5月19日
    00
  • jmap执行失败了,怎么获取heapdump?

    原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。 在之前的OOM问题复盘中,我们添加了jmap脚本来自动dump内存现场,方便排查OOM问题。 但当我反复模拟OOM场景测试时,发现jmap有时可以dump成功,有时会报错,如下:经过网上一顿搜索,发现两种原因可能导致这个问题,一是执行jmap用户与jvm进程用户不一致,二…

    Java 2023年4月17日
    00
  • struts1登录示例代码_动力节点Java学院整理

    Struts1登录示例代码攻略 简介 Struts1 是一个 Web 应用程序的 MVC 框架,通过使用 Struts1 框架,可以更加方便地管理 Web 应用程序中的各个模块,提高代码的重用性和可维护性。本文将介绍使用 Struts1 实现登录功能的示例代码。 实现步骤 本示例的实现步骤如下: 创建登录页面 login.jsp 创建 Struts1 配置文…

    Java 2023年5月20日
    00
  • Spring Boot实战之netty-socketio实现简单聊天室(给指定用户推送消息)

    这里是关于“Spring Boot实战之netty-socketio实现简单聊天室(给指定用户推送消息)”的攻略,包含以下几步: 介绍 本文主要介绍如何使用Spring Boot和netty-socketio实现简单的聊天室,并且演示如何给指定用户推送消息。 具体步骤 步骤一:创建Spring Boot项目 首先,我们需要创建一个Spring Boot项目,…

    Java 2023年5月20日
    00
  • Java启动Tomcat的实现步骤

    Java启动Tomcat的实现步骤如下: 1. 确认Tomcat安装目录 首先需要确认Tomcat安装目录,以便后续操作。假设Tomcat的安装目录为 /usr/local/tomcat8。 2. 设置JAVA_HOME环境变量 在启动Tomcat之前,需要设置JAVA_HOME环境变量,确保Java环境可用。在Linux系统中,可以通过以下命令设置: ex…

    Java 2023年5月19日
    00
  • 每天练一练Java函数与算法Math函数总结与字符串转换整数

    下面我为您详细讲解“每天练一练Java函数与算法Math函数总结与字符串转换整数”的完整攻略。 攻略简介 该攻略包含了每天练习Java函数和算法方面的内容,以及Java Math函数的总结和字符串转换整数相关的知识点。通过每天练习,可以加深对Java编程基础概念的理解,提高编程能力,同时也能对Math函数和字符串转换整数等方面进行进一步掌握。 每天练一练Ja…

    Java 2023年5月26日
    00
  • SpringMVC实现RESTful风格:@PathVariable注解的使用方式

    简介 RESTful风格是一种Web服务的设计风格,它使用HTTP协议的GET、POST、PUT、DELETE等方法来实现对资源的操作。SpringMVC提供了一种简单的方式来实现RESTful风格,即使用@PathVariable注解。本文将介绍如何使用@PathVariable注解来实现RESTful风格,并提供两个示例说明。 示例1:获取用户信息 以下…

    Java 2023年5月17日
    00
合作推广
合作推广
分享本页
返回顶部