websphere 5.1 下的一个jsp:<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="org.jfree.data.general.DefaultPieDataset"%>
<%@ page import="org.jfree.chart.*"%>
<%@ page import="org.jfree.chart.plot.*"%>
<%@ page import="org.jfree.chart.servlet.ServletUtilities"%>
<%@ page import="org.jfree.chart.labels.StandardPieItemLabelGenerator"%>
<%@ page import="org.jfree.chart.urls.StandardPieURLGenerator"%>
<%@ page import="org.jfree.chart.entity.StandardEntityCollection"%>
<%@ page import="java.io.*"%>
<HTML>
<HEAD>
<META http-equiv=Content-Type content="text/html; charset=GBK">
<TITLE>[email protected]</TITLE>
</HEAD>
<BODY>
<% DefaultPieDataset data = new DefaultPieDataset();
data.setValue("高中以下",370);
data.setValue("高中",1530);
data.setValue("大专",5700);
data.setValue("本科",8280);
data.setValue("硕士",4420);
data.setValue("博士",80); PiePlot3D plot = new PiePlot3D(data);//3D饼图
plot.setURLGenerator(new StandardPieURLGenerator("barview.jsp"));//设定链接
JFreeChart chart = new JFreeChart("",JFreeChart.DEFAULT_TITLE_FONT, plot, true);
chart.setBackgroundPaint(java.awt.Color.white);//可选,设置图片背景色
chart.setTitle("程序员学历情况调查表");//可选,设置图片标题
plot.setToolTipGenerator(new StandardPieItemLabelGenerator());
StandardEntityCollection sec = new StandardEntityCollection();
ChartRenderingInfo info = new ChartRenderingInfo(sec);
PrintWriter w = new PrintWriter(out);//输出MAP信息
//500是图片长度,300是图片高度
String filename = ServletUtilities.saveChartAsPNG(chart,500,300,info,session);
ChartUtilities.writeImageMap(w, "map0", info, false);
String graphURL = request.getContextPath()+ "/servlet/DisplayChart?filename="+filename;
%> <P ALIGN="CENTER">
<img src="<%=graphURL%>" width=500 height=300 border=0 usemap="#map0">
</P>
</BODY>
</HTML>
<%@ page import="org.jfree.data.general.DefaultPieDataset"%>
<%@ page import="org.jfree.chart.*"%>
<%@ page import="org.jfree.chart.plot.*"%>
<%@ page import="org.jfree.chart.servlet.ServletUtilities"%>
<%@ page import="org.jfree.chart.labels.StandardPieItemLabelGenerator"%>
<%@ page import="org.jfree.chart.urls.StandardPieURLGenerator"%>
<%@ page import="org.jfree.chart.entity.StandardEntityCollection"%>
<%@ page import="java.io.*"%>
<HTML>
<HEAD>
<META http-equiv=Content-Type content="text/html; charset=GBK">
<TITLE>[email protected]</TITLE>
</HEAD>
<BODY>
<% DefaultPieDataset data = new DefaultPieDataset();
data.setValue("高中以下",370);
data.setValue("高中",1530);
data.setValue("大专",5700);
data.setValue("本科",8280);
data.setValue("硕士",4420);
data.setValue("博士",80); PiePlot3D plot = new PiePlot3D(data);//3D饼图
plot.setURLGenerator(new StandardPieURLGenerator("barview.jsp"));//设定链接
JFreeChart chart = new JFreeChart("",JFreeChart.DEFAULT_TITLE_FONT, plot, true);
chart.setBackgroundPaint(java.awt.Color.white);//可选,设置图片背景色
chart.setTitle("程序员学历情况调查表");//可选,设置图片标题
plot.setToolTipGenerator(new StandardPieItemLabelGenerator());
StandardEntityCollection sec = new StandardEntityCollection();
ChartRenderingInfo info = new ChartRenderingInfo(sec);
PrintWriter w = new PrintWriter(out);//输出MAP信息
//500是图片长度,300是图片高度
String filename = ServletUtilities.saveChartAsPNG(chart,500,300,info,session);
ChartUtilities.writeImageMap(w, "map0", info, false);
String graphURL = request.getContextPath()+ "/servlet/DisplayChart?filename="+filename;
%> <P ALIGN="CENTER">
<img src="<%=graphURL%>" width=500 height=300 border=0 usemap="#map0">
</P>
</BODY>
</HTML>
<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>
<servlet id="Servlet_1">
<servlet-name>SSOLogin</servlet-name>
<display-name>SSO Login Servlet</display-name>
<description>This servlet using SSO Login.</description>
<servlet-class>com.oaking.login.SSOLogin</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping id="ServletMapping_1">
<servlet-name>SSOLogin</servlet-name>
<url-pattern>/servlet/com.oaking.login.SSOLogin</url-pattern>
</servlet-mapping>
<welcome-file-list id="WelcomeFileList_1">
<welcome-file>index_flash.jsp</welcome-file>
</welcome-file-list.......
现象,
graphURL============/servlet/DisplayChart?filename=jfreechart-5465.png
但是图片显示不出来。
请求帮助,在线
关注中
试试
String graphURL = "./servlet/DisplayChart?filename="+filename;
然后到该路径下看看有这个png文件没
肯定是路径的问题
String filename = ServletUtilities.saveChartAsPNG(freeChart,750, 550, null, session);
String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;
%>
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>
找不到StandardPieItemLabelGenerato!!!!!
<url-pattern>/servlet/DisplayChart</url-pattern> 写成:
<url-pattern>/servletDisplayChart</url-pattern>
这句<%@ page import="org.jfree.chart.labels.StandardPieItemLabelGenerator"%>
还是有问题!找不到类StandardPieItemLabelGenerator
我用的是jfreechart-1.0.0.
有知道的吗?
首先,String filename = ServletUtilities.saveChartAsPNG(chart,500,300,info,session); 这句是生成图片,并返回图片的名字,生成的图片默认放在tomcat下的temp目录下。
我之前遇到的问题是因为那个显示的displaychart这个servlet没找到,原因是因为我的Struts2拦截了所有的路径,故他把displaychart当成一个Action去找了,结果没找到报错~
解决的办法很简单,给你的Struts2的Action配置后缀,这样Struts2只会拦截带有固定后缀的动作,自然那个servlet也就能执行了!
希望这些对遇到问题的朋友有些帮助