1. 程式人生 > >jFreeChart學習筆記(一)——報表demo示例

jFreeChart學習筆記(一)——報表demo示例

第一步:

        新建一個Dynamic Web Project工程

第二步:

        匯入jar包

第三步:web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>jFreeChartDemo</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
  <servlet>
  	<servlet-name>DisplayChart</servlet-name>
  	<servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>DisplayChart</servlet-name>
  	<url-pattern>/DisplayChart</url-pattern>
  </servlet-mapping>
  
</web-app>

第四步:java類生成指定圖表

package com.java1234.chart.bar;

import javax.servlet.http.HttpSession;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.data.category.DefaultCategoryDataset;

public class BarChart1 {
	
	public static String getBarChart(HttpSession session)throws Exception {
		DefaultCategoryDataset dataset = new DefaultCategoryDataset();
		dataset.addValue(510, "深圳", "蘋果");
		dataset.addValue(320, "深圳", "香蕉");
		dataset.addValue(580, "深圳", "橘子");
		dataset.addValue(390, "深圳", "梨子");
		JFreeChart chart = ChartFactory.createBarChart3D("水果銷售統計圖", "水果", "銷售", dataset,
				PlotOrientation.VERTICAL, true, true, true);
		String fileName = ServletUtilities.saveChartAsPNG(chart, 700, 500, null ,session);
		return fileName;
	}
	
}

第五步:jsp檔案

<%@page import="com.java1234.chart.bar.BarChart1"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	String fileName = BarChart1.getBarChart(session);
	System.out.println(fileName);
%>
<img src="DisplayChart?filename=<%=fileName %>" width="700" height="500" border="0">
</body>
</html>