2016-12-07 18 views
0

jspを使用してjFreeChartを表示しようとしています。チャートは生成されますが、ブラウザーで表示することはできません。ブラウザに空のフレームが表示されます。実行されるべき他の設定がありますか?jFreeChartがブラウザに表示されていません

JSPページ:

%@page contentType="text/html" pageEncoding="UTF-8"%> 

<%@ page import="java.awt.*" %> 
<%@ page import="java.io.*" %> 
<%@ page import="org.jfree.chart.*" %> 
<%@ page import="org.jfree.chart.axis.*" %> 
<%@ page import="org.jfree.chart.entity.*" %> 
<%@ page import="org.jfree.chart.labels.*" %> 
<%@ page import="org.jfree.chart.plot.*" %> 
<%@ page import="org.jfree.chart.renderer.category.*" %> 
<%@ page import="org.jfree.chart.urls.*" %> 
<%@ page import="org.jfree.data.category.*" %> 
<%@ page import="org.jfree.data.general.*" %> 

<% 
      final double[][] data = new double[][]{ 
       {210, 300, 320, 265, 299}, 
       {200, 304, 201, 201, 340} 
      }; 

      final CategoryDataset dataset = DatasetUtilities.createCategoryDataset(
        "Team ", "", data); 

      JFreeChart chart = null; 
      BarRenderer renderer = null; 
      CategoryPlot plot = null; 


      final CategoryAxis categoryAxis = new CategoryAxis("Match"); 
      final ValueAxis valueAxis = new NumberAxis("Run"); 
      renderer = new BarRenderer(); 

      plot = new CategoryPlot(dataset, categoryAxis, valueAxis, renderer); 
      plot.setOrientation(PlotOrientation.VERTICAL); 
      chart = new JFreeChart("Srore Bord", JFreeChart.DEFAULT_TITLE_FONT, plot, true); 

      chart.setBackgroundPaint(new Color(249, 231, 236)); 

      Paint p1 = new GradientPaint(
        0.0f, 0.0f, new Color(16, 89, 172), 0.0f, 0.0f, new Color(201, 201, 244)); 
      renderer.setSeriesPaint(1, p1); 

      Paint p2 = new GradientPaint(
        0.0f, 0.0f, new Color(255, 35, 35), 0.0f, 0.0f, new Color(255, 180, 180)); 
      renderer.setSeriesPaint(2, p2); 

      plot.setRenderer(renderer); 

      try { 
       final ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection()); 
       final File file1 = new File("D:/barchart.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" > 
     <!meta http-equiv="refresh" content="1"> 
     <title>JSP Page</title> 
    </head> 

    <body> 
     <IMG SRC="barchart.png" WIDTH="600" HEIGHT="400" BORDER="0" USEMAP="#chart"> 
    </body> 
</html> 

答えて

0

まずこれは、より多くのHTMLの質問です。

「D:\ barchart.png」イメージをロードするようにWebサーバーの正しいディレクトリではありません。 IMG参照は、現在のページとの相対的なものです。しかし、ドライブDのルートディレクトリにファイルを置きます。出力場所をWebブラウザからアクセス可能な場所に移動し、HTML出力で参照を調整する必要があります。

はBTW:画像単一のユーザのために、このかもしれない作品のみを生成します。ページへの並列アクセスにより、各呼び出しでイメージが削除され、再作成される場合があります。これにより、パラレル・アクセスで表示エラーが発生する可能性があります。

関連する問題