1

jfree chart を使用して jsp で円グラフを作成したいのですが、このコードを使用しています

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<%@ page  import="java.awt.*" %>
<%@ page  import="java.io.*" %>
<%@ page  import="org.jfree.chart.*" %>
<%@ page  import="org.jfree.chart.entity.*" %>
<%@ page  import ="org.jfree.data.general.*"%>
<%
  final DefaultPieDataset data = new DefaultPieDataset();
  data.setValue("One", new Double(43.2));
  data.setValue("Two", new Double(10.0));
  data.setValue("Three", new Double(27.5));
  data.setValue("Four", new Double(17.5));
  data.setValue("Five", new Double(11.0));
  data.setValue("Six", new Double(19.4));

  JFreeChart chart = ChartFactory.createPieChart
  ("Pie Chart ", data, true, true, false);

 try {
 final ChartRenderingInfo info = new 
  ChartRenderingInfo(new StandardEntityCollection());

  final File file1 = new File("../webapps/jspchart/
  web/piechart.png");
  ChartUtilities.saveChartAsPNG(
   file1, chart, 600, 400, info);
  } catch (Exception e) {
  out.println(e);
  }
%>
<html>
  <head>
  <meta http-equiv="Content-Type" 
  content="text/html; charset=UTF-8">
  <title>JSP Page</title>
  </head>
  <body>
  <IMG SRC="piechart.png" WIDTH="600" HEIGHT="400" 
   BORDER="0" USEMAP="#chart">
  </body>
</html> 

問題は、この例外「java.io.FileNotFoundException: ../webapps/jspchart/web/piechart.png (No such file or directory)」が発生していることです。

何かご意見は??

4

3 に答える 3

1

例外は明確に「java.io.FileNotFoundException: ../webapps/jspchart/web/piechart.png (No such file or directory)」と言っています

ここでは、piechart.png../webapps/jspchart/web/piechart.png)またはWebディレクトリは存在しません。

これらの情報を確認して修正してください。

修正は次のようになります:-

  1. Webフォルダの下にフォルダを作成するjspchartまたは
  2. フォルダのpiechart.png下にファイルを配置するWeb

次に、アプリケーションをもう一度コンパイルして実行してみてください。

于 2012-07-03T09:59:59.843 に答える
1

私はこれを手に入れました。実際には、データベースから値をフェッチするために円グラフが必要でした。データベースの最初の列は名前で、2番目の列はその値です。コードは次のとおりです。テーブル名はチャートで、データベースはmajです。

<%@ page import="java.io.*"%>

<<%@ page  import="java.awt.*" %>
<%@ page  import="java.io.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="org.jfree.data.jdbc.JDBCPieDataset" %>
<%@ 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" %>
<%@ page import="org.jfree.data.general.DefaultPieDataset" %>
<%@ page import="org.jfree.chart.*"%>
<%@ page import="org.jfree.chart.entity.*"%>
<%@ page import="org.jfree.data.general.*"%>
<%@ page import="org.jfree.chart.plot.PiePlot;" %>

<%

                String query = "SELECT * from chart";
                JDBCPieDataset dataset = new JDBCPieDataset("jdbc:mysql://localhost:3306/maj", "com.mysql.jdbc.Driver","root", "password");
                dataset.executeQuery(query);

            JFreeChart chart = ChartFactory.createPieChart("File System",dataset, true, true, false);
            //chart.setBackgroundPaint(new Color(222, 222, 255));
                final PiePlot plot = (PiePlot) chart.getPlot();
                plot.setBackgroundPaint(Color.white);
                plot.setCircular(true);

            try {

                final ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
                final File file1 = new File(getServletContext().getRealPath(".") + "/piechart.png");

                ChartUtilities.saveChartAsPNG(file1, chart, 600, 400, info);
            } catch (Exception e) {
                System.out.println(e);

            }




%>
<html>
    <body>
        Heading
        <IMG SRC="piechart.png" WIDTH="500" HEIGHT="400" style="border:4px solid orange;" USEMAP="#chart" alt="image">
    </body>
</html>
于 2012-07-03T15:55:05.333 に答える
0

このパスを確認しましたか?ファイルはそこにありますか?(私は賭けない)。

そのディレクトリの下にファイルをコピーすると、問題は解決します。

于 2012-07-01T11:49:31.213 に答える