0

我正在 JSTL 中编写一个更新页面,用户在其中输入一些数字。然后我调用一个 java bean——将数字作为参数传递——它使用 JFreeChart 创建一个 PNG 图像。当我将文件直接保存在硬盘上时,所有这些都可以正常工作

ImageIO.write(myBufferedImage, "png", new File("C:/testChart.png"));

我还可以将图像保存到我的 tomcat 目录中,并在我在本地主机上运行网站时查看它。但是,一旦此代码在不是我的本地主机的服务器上启动,保存到 tomcat 目录将不起作用。如何将此文件直接写入服务器..say 到我的 Eclipse 项目的 WebContent 文件夹(java bean 在 src 文件夹中)?提前感谢您的帮助。

4

2 回答 2

1

我建议您使用ServletUtilities类。它保存在 java tempdir 中,并在会话无效时进行清理。:) 然后显示文件的另一个提示是使用 DisplayChart servlet 来获取图像。这在 web.xml 中

      <servlet>
    <servlet-name>DisplayChart</servlet-name>
    <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>
  </servlet>
   <servlet-mapping>
        <servlet-name>DisplayChart</servlet-name>
        <url-pattern>/servlet/DisplayChart</url-pattern>
    </servlet-mapping>

这就是使用 jstl 显示图像的方式:

<img src="<c:url value='/servlet/DisplayChart?'><c:param name='filename' value='${yourFileNameHERE}' /></c:url>" alt=""/>
于 2009-09-22T22:25:39.753 回答
0

将其写入System.getProperty("java.io.tmpdir");返回的目录路径中

于 2009-08-28T15:27:12.793 回答