DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11752>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11752

Tomcat 4.0.4 does not play well with xerces2

           Summary: Tomcat 4.0.4 does not play well with xerces2
           Product: Tomcat 4
           Version: 4.0.4 Final
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Catalina
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


If xerces 2 .jar files are included in the WEB-INF/lib directory,
.jsp pages cannot be successfully dispatched.  Tomcat generates an
internal server error with:

java.lang.NoClassDefFoundError: org/w3c/dom/DOMErrorHandler

I found several other similar (but not identical) bug reports that
have been closed as fixed (6374 and 6248), but did not find any
open bug reports describing this specific problem.

To demonstrate this problem:

1) Place xerces2 jar files (xerces-xercesImpl.jar, xerces-xmlParserAPIs.jar)
into the WEB-APP/lib directory.

2) Place the sample HelloWorld.jsp page (see below) into web app's root
directory.

3) Compile the sample HelloWorld.java servlet (see below), and place the
.class file into the WEB-INF/classes directory.

4) Set up an appropriate web.xml file, and invoke the HelloWorld servlet from
a web browser.

--Sample HelloWorld.jsp page:
<html>
<head>
<title>Hi</title>
</head>
<body>
Hey there
</body>
</html>

-- Sample HelloWorld Servlet:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet {
    public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
      throws ServletException, IOException
    {                
        RequestDispatcher requestDispatcher = 
            getServletContext().getRequestDispatcher("/HelloWorld.jsp");
        requestDispatcher.forward(request, response);        
    }
}

Sample traceback:
root cause 

java.lang.NoClassDefFoundError: org/w3c/dom/DOMErrorHandler
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
        at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
        at 
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader
.java:1643)
        at 
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:93
7)
        at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:13
72)
        at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:12
54)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
        at org.apache.xerces.dom.CoreDocumentImpl.(CoreDocumentImpl.java:173)
        at org.apache.xerces.dom.DocumentImpl.(DocumentImpl.java:173)
        at 
org.apache.xerces.dom.DeferredDocumentImpl.(DeferredDocumentImpl.java:194)
        at 
org.apache.xerces.dom.DeferredDocumentImpl.(DeferredDocumentImpl.java:189)
        at 
org.apache.xerces.parsers.AbstractDOMParser.startDocument(AbstractDOMParser.java
:712)
        at 
org.apache.xerces.impl.XMLNamespaceBinder.startDocument(XMLNamespaceBinder.java:
444)
        at 
org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(XMLDTDValidator.java:64
4)
        at 
org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(XMLDocumentScannerImpl
.java:431)
        at 
org.apache.xerces.impl.XMLEntityManager.startEntity(XMLEntityManager.java:878)
        at 
org.apache.xerces.impl.XMLEntityManager.startDocumentEntity(XMLEntityManager.jav
a:741)
        at 
org.apache.xerces.impl.XMLDocumentScannerImpl.setInputSource(XMLDocumentScannerI
mpl.java:260)
        at 
org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:498)
        at 
org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:580)
        at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:152)
        at org.apache.xerces.parsers.DOMParser.parse(DOMParser.java:253)
        at 
org.apache.xerces.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:201)
        at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:122)
        at 
org.apache.jasper.parser.ParserUtils.parseXMLDocument(ParserUtils.java:201)
        at 
org.apache.jasper.compiler.TldLocationsCache.processWebDotXml(TldLocationsCache.
java:165)
        at 
org.apache.jasper.compiler.TldLocationsCache.(TldLocationsCache.java:138)
        at 
org.apache.jasper.EmbededServletOptions.(EmbededServletOptions.java:350)
        at org.apache.jasper.servlet.JspServlet.init(JspServlet.java:265)
        at 
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:918)
        at 
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:655)
        at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java
:652)
        at 
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.j
ava:431)
        at 
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.jav
a:355)
        at HelloWorld.doGet(HelloWorld.java:16)
        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(ApplicationFilt
erChain.java:247)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.
java:193)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:2
43)
        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:1
90)
        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: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.valves.AccessLogValve.invoke(AccessLogValve.java:468)
        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:484)

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to