是不是在servlet环境中找不到Dom4j的类啊,最好能把异常的信息也贴出来

解决方案 »

  1.   

    你把    public static void main(String [] args){
          Dom4jTest dom4j=new Dom4jTest();
          Document doc=dom4j.createDocument() ;
          String str=doc.asXML() ;
          System.out.println(str);
        }
    这段程序删掉试一试
      

  2.   

    这是页面上的出错信息.
    Apache Tomcat/4.0.6 - HTTP Status 500 - Internal Server Errortype Exception reportmessage Internal Server Errordescription The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.exception javax.servlet.ServletException: Servlet execution threw an exception
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
     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.valves.CertificatesValve.invoke(CertificatesValve.java:246)
     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.StandardContext.invoke(StandardContext.java:2347)
     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:1027)
     at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
     at java.lang.Thread.run(Thread.java:536)
    ---------------------------------------------
    你看看.root cause 里是这样说的.怎么回事呢?
    ---------------------------------------------
    root cause java.lang.NoClassDefFoundError: org/dom4j/DocumentHelper
     at xmlproject.Dom4jTest.createDocument(Dom4jTest.java:11)
     at xmlproject.succeed.doPost(succeed.java:27)
     at xmlproject.succeed.doGet(succeed.java:19)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
     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.valves.CertificatesValve.invoke(CertificatesValve.java:246)
     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.StandardContext.invoke(StandardContext.java:2347)
     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:1027)
     at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
     at java.lang.Thread.run(Thread.java:536)
      

  3.   

    我总是觉得这个是classpath的问题。
      

  4.   

    你是用什么开发的,用bean测试的机子跟servlet是同一台电脑吗?
      

  5.   

    不过说也奇怪,如果是classpath的问题,应该Document就找不到了的。
      

  6.   

    下个dom4j.拷到机器上做做看.谢谢.
      

  7.   

    你把它写成返回String的看看,还会不会出错呢。
      

  8.   

    调用的时候就成了:
     try{
       Dom4jTest dom4j=new Dom4jTest();
       //调用这个方法不出错
       dom4j.test() ;
      //在这里调用时出错.但是调用其它javabean方法不出错.
         String str=dom4j.createDocument() ;
      

  9.   

    ---------------------------------------------
    你看看.root cause 里是这样说的.怎么回事呢?我看NoClassDefFoundError的问题吧.?
    ---------------------------------------------
    root cause java.lang.NoClassDefFoundError: org/dom4j/DocumentHelper
     at xmlproject.Dom4jTest.createDocument(Dom4jTest.java:11)
     at xmlproject.succeed.doPost(succeed.java:27)
     at xmlproject.succeed.doGet(succeed.java:19)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
      

  10.   

    这个信息的意思就是:没有找到类DocumentHelper
      

  11.   

    是呀.那为什么在SERVLET调用它就会找不到.而其它JAVABEAN调用就会找到呢.?
      

  12.   

    你是否将 在SERVERLET中IMPORT的类都放在了WEB服务器的WEB-INF目录下了,如没有请拷贝过去(jar 放在lib目录下,class文件放在classes目录下),并重启服务器!!!