请问,我在xp下配置了jdk1.4.2+tomcat5.0运行jsp没问题。但引用了jfreechart1.0.6后出错。
我把jfreechart1.0.6下lib文件夹中的全部jar文件考到了tomcat5.0\common\lib下,并在tomcat5.0\cnf\web.xml文件中添加了servlet引用。也在环境变量classpath中添加了%tomcat_home%common\lib。把要执行的jsp文件test.jsp保存在了tomcat5.0\webapps\root下,调用http://localhost:8080/test.jsp后出错。
我的test.jsp程序如下:
<%@ page contentType="text/html;charset=GBK"%>
  <%@ page import="org.jfree.data.general.DefaultPieDataset"%>
  <%@ page import="org.jfree.chart.JFreeChart"%>
  <%@ page import="org.jfree.chart.plot.PiePlot"%>
  <%@ page import="org.jfree.chart.ChartRenderingInfo"%>
  <%@ page import="org.jfree.chart.servlet.ServletUtilities"%>
  <%@ page import="org.jfree.chart.urls.StandardPieURLGenerator"%>
  <%@ page import="org.jfree.chart.entity.StandardEntityCollection"%>
  <%@ page import="org.jfree.chart.encoders.SunPNGEncoderAdapter"%>
  <%
  DefaultPieDataset data = new DefaultPieDataset();
  data.setValue("六月", 500);
  data.setValue("七月", 580);
  data.setValue("八月", 828); 
  PiePlot plot = new PiePlot(data);
  JFreeChart chart = new JFreeChart("", JFreeChart.DEFAULT_TITLE_FONT, plot, true);
  chart.setBackgroundPaint(java.awt.Color.white); //可选,设置图片背景色
  chart.setTitle("Welcome to Jfreechart !"); //可选,设置图片标题
  ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
  //500是图片长度,300是图片高度
  String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, info, session);
  String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename; 
  %>
  <HTML>
  <HEAD>
   <TITLE>Welcome to Jfreechart !</TITLE>
  </HEAD>
  <BODY>
  <P ALIGN="CENTER">
  <img src="<%= graphURL %>" width=500 height=300 border=0 usemap="#<%= filename %>">
  </P>
  </BODY>
  </HTML>

解决方案 »

  1.   

    出错信息:
    HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:61: illegal character: \12288
    銆?銆?DefaultPieDataset data = new DefaultPieDataset();
    ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:61: illegal character: \12288
    銆?銆?DefaultPieDataset data = new DefaultPieDataset();
     ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:62: illegal character: \12288
    銆?銆?data.setValue("鍏湀", 500);
    ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:62: illegal character: \12288
    銆?銆?data.setValue("鍏湀", 500);
     ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:63: illegal character: \12288
    銆?銆?data.setValue("涓冩湀", 580);
    ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:63: illegal character: \12288
    銆?銆?data.setValue("涓冩湀", 580);
     ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:64: illegal character: \12288
    銆?銆?data.setValue("鍏湀", 828); 
    ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:64: illegal character: \12288
    銆?銆?data.setValue("鍏湀", 828); 
     ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:65: illegal character: \12288
    銆?銆?PiePlot plot = new PiePlot(data);
    ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:65: illegal character: \12288
    銆?銆?PiePlot plot = new PiePlot(data);
     ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:66: illegal character: \12288
    銆?銆?JFreeChart chart = new JFreeChart("", JFreeChart.DEFAULT_TITLE_FONT, plot, true);
    ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:66: illegal character: \12288
    銆?銆?JFreeChart chart = new JFreeChart("", JFreeChart.DEFAULT_TITLE_FONT, plot, true);
     ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:67: illegal character: \12288
    銆?銆?chart.setBackgroundPaint(java.awt.Color.white); //鍙?夛紝璁剧疆鍥剧墖鑳屾櫙鑹?
    ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:67: illegal character: \12288
    銆?銆?chart.setBackgroundPaint(java.awt.Color.white); //鍙?夛紝璁剧疆鍥剧墖鑳屾櫙鑹?
     ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:68: illegal character: \12288
    銆?銆?chart.setTitle("Welcome to Jfreechart !"); //鍙?夛紝璁剧疆鍥剧墖鏍囬
    ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:68: illegal character: \12288
    銆?銆?chart.setTitle("Welcome to Jfreechart !"); //鍙?夛紝璁剧疆鍥剧墖鏍囬
     ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:69: illegal character: \12288
    銆?銆?ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
    ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:69: illegal character: \12288
    銆?銆?ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
     ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:70: illegal character: \12288
    銆?銆?//500鏄浘鐗囬暱搴︼紝300鏄浘鐗囬珮搴?
    ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:70: illegal character: \12288
    銆?銆?//500鏄浘鐗囬暱搴︼紝300鏄浘鐗囬珮搴?
     ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:71: illegal character: \12288
    銆?銆?String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, info, session);
    ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:71: illegal character: \12288
    銆?銆?String filename = ServletUtilities.saveChartAsPNG(chart, 500, 300, info, session);
     ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:72: illegal character: \12288
    銆?銆?String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename; 
    ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:72: illegal character: \12288
    銆?銆?String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename; 
     ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:73: illegal character: \12288
    銆?銆?
    ^
    An error occurred at line: 10 in the jsp file: /test.jsp
    Generated servlet error:
    C:\Tomcat 5.0\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:73: illegal character: \12288
    銆?銆?
     ^
    26 errors org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
    org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
    --------------------------------------------------------------------------------Apache Tomcat/5.0.28
    不知道错在哪里了
      

  2.   

    环境变量classpath中添加了%tomcat_home%common\lib
    你的tomcat_home定义的是什么?
    是不是应该修改成%tomcat_home%\common\lib
      

  3.   

    <% 
      DefaultPieDataset data = new DefaultPieDataset();
     
    应该是页面里有不可见字符,你的代码是不是从哪里直接复制进来的?
    你根据提示把前面的空白删掉试试看先
      

  4.   

    可能是jfreechat的jar包跟你的tomcat中的包有冲突,引入jfreechart以及jcommon两个包试试