67,537
社区成员
发帖
与我相关
我的任务
分享
<servlet-mapping>
<servlet-name>DisplayChart</servlet-name>
<url-pattern>/image/Chart</url-pattern>
</servlet-mapping>
<jsp:useBean id="barchart01" scope="session"
class="com.chart.SeriesXY" />
<%
String fileName = barchart01.getImg(request.getSession(), out);
String graphURL = request.getContextPath()
+ "/image/Chart?filename=" + fileName;
%>
<br/>
<img src="<%= graphURL %>" border="0" usemap="#<%=fileName %>" />
<br/>
File file = new File(System.getProperty("java.io.tmpdir"), filename);
if (!file.exists()) {
throw new ServletException("File '" + file.getAbsolutePath()
+ "' does not exist");
}
JFreeChart chart = ...;//获取图表
String chartSrc = "chart.jpg";//图片名称
//以下这句代码可以解决楼主第一个问题:控制图片生成路径,使图片生成在工程目录中。
String realPath = getServletContext().getRealPath( chartSrc );
//生成图片
FileOutputStream out = new FileOutputStream( realPath );
ChartUtilities.writeChartAsJPEG(out, chart, 600, 400, info);
out.close();
//把图片路径保存到request中,以便在页面上使用
request.setAttribute("chartSrc", chartSrc);
//转发到显示图片的页面
request.getRequestDispatcher("xxx.jsp").forward(request, response);
<img style="border:none;" src="${ chartSrc }" />