忘贴报错信息了:
org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 12 in the jsp file: /painting.jspGenerated servlet error:
D:\test\xp1\Tomcat\work\painting$jsp.java:97: No method matching paint() found in class GP.Paint.
                pa.paint();
                        ^
1 error at org.apache.jasper.compiler.Compiler.compile(Compiler.java:285)
at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:552)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:177)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:189)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107)
at java.lang.Thread.run(Thread.java:484)

解决方案 »

  1.   

    Graphics g;
    没有初始化
    所以你遇到的可能是 Paint.java 没有编译通过。我用javac 做的 编译通过了
    但是运行时出错
    空指针
    g 没法操作
      

  2.   

    老大这样不对的吧。你的输出环境不一样。比如在dos下system.out.print("hello").在applet和JFrame的窗口环境中要用drawing(“hello”);同样只有在applet和JFrame中才能画图,而不能直接在jsp中。jsp的唯一输出方式是out。print(“sdfk“);并且只能是字符或者数字!
    在applet中可以输出。但是this.g.paint()是绝对不对的。
    把paint用在JFrame中还有可能,但是你的类的封装方式不对,类应该是低耦合高内聚的,如你的paint类刚好反了,犯了大忌,因为他跟环境结合的太紧密了,如果你知道VC的话,应该知道CDC类,在Java中也是同样的道理。
      

  3.   

    你可以画到一个文件里然后把这个文件当初普通图像文件用jsp传到客户端啊。
      

  4.   

    Symanteck(河风) :你好,是这样的,我要做一个在WEB页上根据数据库里的数据显示曲线图的程序,我想使用组件的方式,也就是传递参数,然后返回图形,可我对画图这一块完全没有经历,能不能详细的给我个方案!谢谢。
      

  5.   

    使用applet,就行了,有很多例子的
      

  6.   

    用applet就可以了,从servlet中取出数据然后传到applet中,在applet中画图。applet其实本身就是组件。