【问题标题】:Saving a PNG file on a server in a Java bean, using JSTL使用 JSTL 在 Java bean 中的服务器上保存 PNG 文件
【发布时间】:2009-08-28 14:37:02
【问题描述】:

我正在 JSTL 中编写一个更新页面,用户在其中输入一些数字。然后我调用一个 java bean——将数字作为参数传递——它使用 JFreeChart 创建一个 PNG 图像。当我使用

将文件直接保存在硬盘上时,所有这些都可以正常工作

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

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

【问题讨论】:

    标签: eclipse jstl jfreechart javabeans


    【解决方案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=""/>
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2011-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多