jbuilder2006 jdk1.5.0_03-b07环境
启动barInterface服务后,在jbuilder调试环境中,jfreechart画图正常。
把web打包(include所有包),发布到tomcat5.5.15中,jfreechart画图出错:type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception java.lang.NullPointerException
sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1170)
sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:147)
sun.awt.FontConfiguration.<init>(FontConfiguration.java:72)
sun.awt.windows.WFontConfiguration.<init>(WFontConfiguration.java:24)
sun.awt.Win32GraphicsEnvironment.createFontConfiguration(Win32GraphicsEnvironment.java:291)
sun.java2d.SunGraphicsEnvironment$1.run(SunGraphicsEnvironment.java:186)
java.security.AccessController.doPrivileged(Native Method)
sun.java2d.SunGraphicsEnvironment.<init>(SunGraphicsEnvironment.java:94)
sun.awt.Win32GraphicsEnvironment.<init>(Win32GraphicsEnvironment.java:73)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:494)
java.lang.Class.newInstance0(Class.java:350)
java.lang.Class.newInstance(Class.java:303)
java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68)
java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1141)
org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1249)
org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1229)
org.jfree.chart.ChartUtilities.writeChartAsJPEG(ChartUtilities.java:473)
com.huiyuan.others.DrawChart.doGet(DrawChart.java:194)
com.huiyuan.others.DrawChart.doPost(DrawChart.java:203)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.15 logs.

解决方案 »

  1.   

    jfreechart-1.0.0.jar jcommon-1.0.0.jar

    jfreechart-0.9.21.jar jcommon-0.9.7.jar两个版本都是这样!
      

  2.   

    <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配置正确了吗?另外检查一下生成图片路径
      

  3.   

    谢谢大家!!!今天解决了:
    我把jbuilder2006自带的tomcat(jakarta-tomcat-5.5.9)覆盖到我自己安装的tomcat(apache-tomcat-5.5.15),然后配置好JAVA_HOME,在tomcat目录的bin下面用startup.bat启动tomcat,这样就能画图了!!
    虽然没有找到根本原因,但解决了就好了! 再次谢谢大家!King_Style说的我没试过,希望能行! 有空试试!如果哪位能找到问题的根源,那就更好啦!!!