- - PR -
JFreeChartでサーブレットからグラフを出力
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-09-22 03:26
いつもお世話になっています。
JFreeChartでサーブレットからグラフ(レーダーチャート)を出力させたいのですが、 うまくいきません。 ●環境 WindowsXP JDK5.0 Tomcat5.5 Eclipse3.1+sysdeo Tomcatプラグイン JFreeChart1.0.2 ●サーブレットソースコード
※web.xmlに「/displayChart」という名前で「org.jfree.chart.servlet.DisplayChart」サーブレットをマッピングしています。 ※上記コードで「¥」マークが2つ続いているところは、本当は一つです。(1個しか書いていないのに、プレビューすると2つになリます・・・) ●状況 上記サーブレットにアクセスすると、ブラウザ上で画像のリンク切れと同じ赤い×が表示される。 例外が発生しており、「javax.servlet.ServletException: Chart image not found」がDisplayChartクラスの153行で発生している ●確認事項 ・JFreeChartに必要なjfreechart-1.0.2.jarとjcommon-1.0.5.jarはビルドパスを通しています。 ・上記サーブレットにアクセス後、TOMCAT_HOMEのtempフォルダ内には「jfreechart-onetime-XXXXX.png」(XXXXXは毎回異なる数値)と言うファイルが作成されており、開くときちんとグラフが表示されます。 ・例外が発生している箇所が、DisplayChartクラスのソースを見ると、 1.ChartDeleterクラスのisChartAvailable(グラフの画像ファイル名)を呼び出し、そのファイルが削除対象のリストに入っているか?(ここはよくわかってません・・・) 2.ファイル名の先頭が「public」から始まっているか? 3.ファイル名が一時ファイルを表すファイル名(「jfreechart-onetime-」)から始まっているかどうか? 上記のうち、いずれかがtrueであれば、ServletUtilitiesクラスのsendTempFileメソッドを使ってグラフを出力するようにしているところです。 つまり、上記1〜3すべてfalseのため、ServletExceptionが発生しています。 しかし、1〜3が本当にfalseかを調べるために、上記サーブレット内でDisplayChartクラスと同じソースコードをコピペして実行させると、3に関してはtrueとなっています。 正直お手上げ状態です・・・。 参考ページも少なく、どうしたらいいのかわかりません。 何か参考になるものをご存知の方がいらっしゃいましたら、ぜひ教えて下さい。 よろしくお願いいたします。 | ||||
|
投稿日時: 2006-09-22 08:17
自己レスです。あっさり解決しました・・・。
ダブルコーテーションが一つ多かったです・・・。
にしたら、うまくいきました。 お騒がせしました。 |
1