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> 

解决方案 »

  1.   

    <web-app id="WebApp_ID">

    <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.......
      

  2.   

    web.xml 如上
    现象,
    graphURL============/servlet/DisplayChart?filename=jfreechart-5465.png
    但是图片显示不出来。
    请求帮助,在线
      

  3.   

    这个问题好几天了,还没解决呢!jfreechart-5465.png这个图片肯定已经生成了,可以搜一下,但是就是显示不出来。
    关注中
      

  4.   

    路径的问题
    试试
    String graphURL = "./servlet/DisplayChart?filename="+filename;
      

  5.   

    在页面上右键点击图片,选择属性,看看它的路径
    然后到该路径下看看有这个png文件没
    肯定是路径的问题
      

  6.   

    问题是在我的项目下面根本没有servlet这个文件夹  新建了  里面也不会生成内容
      

  7.   

    我用的web服务器是tomcat,我看了一下,发现我的图片文件生成在了temp路径下,但根据上面的代码,图片文件理应生成在项目下面的sevlet路径下,对此问题清除的请答复一下。
      

  8.   

    我的没有任何问题,可以显示JSP文件<%
    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>
      

  9.   

    用dcgame(菜鸟) ( )的方法一搞就定,总之一句话:一切搞定^_^
      

  10.   

    我的也出现显示不出来的情况,blueoon0001能详细点吗?谢谢!还有提示
    找不到StandardPieItemLabelGenerato!!!!!
      

  11.   

    图片已经能显示了!原因是
    <url-pattern>/servlet/DisplayChart</url-pattern> 写成:
    <url-pattern>/servletDisplayChart</url-pattern> 
    这句<%@ page import="org.jfree.chart.labels.StandardPieItemLabelGenerator"%> 
    还是有问题!找不到类StandardPieItemLabelGenerator
    我用的是jfreechart-1.0.0.
    有知道的吗?
      

  12.   

    到org.jfree.chart下看看是否有StandardPieItemLabelGenerator.class.如果没有,可能在org.jfree下的其它目录中.
      

  13.   

    是不是jfree不能在websphere 5.1 上运行?
      

  14.   

    有详细的吗?我喜欢JSP jfreechart的解决方法。多谢 
      

  15.   

    这个问题我前几天也遇到过,搞了很久啊!
    首先,String   filename   =   ServletUtilities.saveChartAsPNG(chart,500,300,info,session);   这句是生成图片,并返回图片的名字,生成的图片默认放在tomcat下的temp目录下。
    我之前遇到的问题是因为那个显示的displaychart这个servlet没找到,原因是因为我的Struts2拦截了所有的路径,故他把displaychart当成一个Action去找了,结果没找到报错~
    解决的办法很简单,给你的Struts2的Action配置后缀,这样Struts2只会拦截带有固定后缀的动作,自然那个servlet也就能执行了!
    希望这些对遇到问题的朋友有些帮助
      

  16.   

    把StandardPieItemLabelGenerator换成StandardPieSectionLabelGenerator,试试看