String filename=ServletUtilities.saveChartAsJPEG(chart,600,400,info,session);
//设置生成图片,包括图片的大小,长度是300,宽是200
System.out.println(filename);
System.out.println(info);
session.setAttribute("file_name1",filename);
String URL= request.getContextPath() + "/servlet/DisplayChart? filename=" + filename;
session.setAttribute("file_url1",URL);
System.out.println(URL);
这段代码是action中的,然后在jsp页面调用,不知道这样用对么
我用的时候,在Jsp页面调用,可以找到,就是显示不出图片
//设置生成图片,包括图片的大小,长度是300,宽是200
System.out.println(filename);
System.out.println(info);
session.setAttribute("file_name1",filename);
String URL= request.getContextPath() + "/servlet/DisplayChart? filename=" + filename;
session.setAttribute("file_url1",URL);
System.out.println(URL);
这段代码是action中的,然后在jsp页面调用,不知道这样用对么
我用的时候,在Jsp页面调用,可以找到,就是显示不出图片
我大致看了一下你的方法,感觉是错误的.我的代码帖出让你参考一下.
public class Img extends HttpServlet {
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException {
res.setContentType("image/jpeg");
DefaultPieDataset data = getDataSet();
JFreeChart chart = ChartFactory.createPie3DChart("引擎分析统计图", // 图表标题
data, true, // 是否显示图例
false, false);
ChartUtilities.writeChartAsJPEG(res.getOutputStream(), 100, chart,
650, 450, null); } private static DefaultPieDataset getDataSet() {
DefaultPieDataset dataset = new DefaultPieDataset();
String sql1 = "select a.FSITENAME,a.FSITEURL,count(*) from SEARCHSITE a,"
+ "WEBUSERS_HIS b where a.FSITEURL=b.FREFSITE group by a.FSITENAME,a.FSITEURl";
List cty_list2 = oracles.runsql(sql1, "3");
if (cty_list2 != null) {
Element cnode3 = null;
for (Iterator iter3 = cty_list2.iterator(); iter3.hasNext();) {
cnode3 = (Element) iter3.next();
String fff1 = (String) cnode3.attributeValue("1");
String fff3 = (String) cnode3.attributeValue("3");
dataset.setValue(fff1, Long.parseLong(fff3));
}
}
return dataset;
}
}
Show就是上面的Servlet,你要在web.xml配置一下.