试图以战争文件格式在我的jsp上显示图像

时间:2012-10-22 09:07:51

标签: jsp struts2 jfreechart

我正在创建一个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";

保存图表我可以保存图表并将其显示在我的jsp文件中如果我在我的eclipse Indigo中运行项目但是如果我将其导出到WAR文件并将WAR文件粘贴到Tomcat / webapps /文件夹中然后运行brwoser“localhost:8080 / projetcname /”我可以看到我的项目工作正常但是如果我试图绘制图表它没有在我的jsp页面中显示图像,那么它是我正在做错了请求提前谢谢。

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

3 个答案:

答案 0 :(得分:1)

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

让我们知道这是怎么回事。

答案 1 :(得分:0)

要通过搜索文件名来获取绝对文件路径,可以尝试使用

   String yeargraph= new ClassPathResource("yeargraph.jpg").getFile().getAbsolutePath();

答案 2 :(得分:0)

我建议Flot用于基于网络的图表,即使是我自己的开源API XChart,它更适合桌面应用程序。 Here是一个HelloWorld类型的示例应用程序,其源代码演示了我在某一点上创建的Flot。如果你对获取包含图表的JPEG更感兴趣,你可以看到how I do it with XChart(奖金示例,页面底部),你可以做一些与JFreeChart非常相似的事情,甚至不需要首先将jpeg保存到磁盘。