关于在eclipse中使用JFreechart和mysql数据库的条形图/饼图显示

时间:2012-02-24 13:04:14

标签: java jsp jfreechart

我正在使用数据库作为MYSQL和JFreeChart在Java EE平台上开发一个简单的应用程序来生成3D条形图但是3D效果是可见的但是在那个背景上看不到条形图,因此我无法在条形图中显示条形图当我尝试使用Pie Charts进行此操作时也一样。

这是我的代码:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>

<%@ page import="java.io.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="org.jfree.data.jdbc.JDBCCategoryDataset" %>
<%@ page import="org.jfree.chart.plot.PlotOrientation" %>
<%@ page import="org.jfree.chart.JFreeChart" %>
<%@ page import="org.jfree.chart.ChartUtilities" %>
<%@ page import="org.jfree.chart.ChartFactory" %>
<%

String connectionURL = "jdbc:mysql://localhost/tester?user=root&password=root&useUnicode=true&characterEncoding=utf-8"; 
Class.forName("com.mysql.jdbc.Driver"); 
Connection con = DriverManager.getConnection (connectionURL); 
String query = "SELECT * from charter";
JDBCCategoryDataset dataset = new JDBCCategoryDataset(con);
dataset.executeQuery(query);
JFreeChart chart = ChartFactory.createBarChart3D("Test", "Name", "ID",dataset, PlotOrientation.VERTICAL, true, true, false);
try { 
    ChartUtilities.saveChartAsJPEG(new File("E:/project/jfreechart3D/img/barchart_3D.jpeg"),chart,400, 300); 
    } 
catch (IOException e) {
    System.out.println("No chart creation.");
    }
%>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<IMG SRC="E:/project/jfreechart3D/img/barchart_3D.jpeg" WIDTH="600" HEIGHT="400" BORDER="0" USEMAP="#chart" />
</body>
</html>

1 个答案:

答案 0 :(得分:0)

相反,编写一个servlet来调用writeChartAsJPEG()writeChartAsPNG()之类的ChartUtilities方法之一。前者将更加压缩,但后者将更加清晰。有一个例子here。让您的JSP包含src引用您的servlet的标记。

相关问题