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]>