0

我正在制作一个 Web 应用程序,它根据数据库中的日期绘制图形我使用 jfreechart 并将图形保存为图像。并尝试通过指定图像路径在我的 jsp 页面上显示它。

在jsp中我给了这个

<img src="C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/yeargraph.jpg" class="myimageclass" alt="Graph Cannot be Displayed Due to some internal error"/>

在我的 jfreechart 程序中,我给出

String fileName="C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/yeargraph.jpg";

要保存图表,如果我在 Eclipse Indigo 中运行项目,我可以保存图表并将其显示在我的 jsp 文件中,但如果我将其导出到 WAR 文件并将 WAR 文件粘贴到 Tomcat/webapps/文件夹中,然后运行 ​​brwoser "localhost :8080/projetcname/" 我可以看到我的项目工作正常但是如果我尝试绘制图形,它不会在我的 jsp 页面中显示图像是吗,所以我做错了什么,请提前感谢。

注意:基于用户输入,我的应用程序将通过覆盖相同的图像文件生成不同的图形,所以即使这也应该注意

4

3 回答 3

1

当您将其部署到生产服务器时,您将遇到各种问题。尝试不同的方法: - 找到一个您知道在生产中将拥有权限的文件夹;- 给 jfreechart 路径“[具有权限的文件夹]/charts_temp_folder/yeargraph.jpg”;- 编写一个小 servlet 来读取文件并提供服务;- 将您的 jsp 指向该文件夹;

让我们知道情况如何。

于 2012-10-22T09:39:03.363 回答
0

要通过仅搜索文件名来获取绝对文件路径,您可以试试这个

   String yeargraph= new ClassPathResource("yeargraph.jpg").getFile().getAbsolutePath();
于 2012-10-22T09:17:20.903 回答
0

我会推荐Flot用于基于 Web 的图表,即使是在我自己的开源 API XChart 上,它更适合桌面应用程序。是一个 HelloWorld 类型的示例应用程序,其源代码演示了我曾经制作的 Flot。如果您对获取包含图表的 JPEG 更感兴趣,您可以查看我是如何使用 XChart 进行操作的(奖励示例,页面底部),您甚至可以做一些非常相似的事情,JFreeChart甚至不需要将 jpeg 保存到先盘。

于 2012-10-23T06:12:54.910 回答