Tomcat 4 does not make an XML parser available to web applications - only
to internal uses. It may be that the JSPTL library requires the
availability of an XML parser in order to work.
See the Tomcat 4 release notes (RELEASE-NOTES-4.0-B7.txt in the top level
directory) for more information about XML parsers in Tomcat 4.
Craig McClanahan
On Mon, 10 Sep 2001, Achim Weßling wrote:
> Date: Mon, 10 Sep 2001 00:10:25 +0200
> From: Achim Weßling <[EMAIL PROTECTED]>
> Reply-To: [EMAIL PROTECTED]
> To: [EMAIL PROTECTED]
> Subject: using jsptl-jr
>
> Hallo,
>
> I mailed this problem some time ago and Shawn Bayern answered to it, but I
> didn't get it to work. So I try to explain my problem with some more details.
>
> I'm using Tomcat 4b7. I tried to use datetime-TagLib, benchmark-TagLib and
> jsptl-TagLib in one JSP-Page. But if I insert the 'jsptl' I get
> the following Exception and I really didn't know why:
>
> This is my jsp-Page:
>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> <%@ page contentType="text/html" %>
> <%@ taglib uri="http://jakarta.apache.org/taglibs/datetime" prefix="dt" %>
> <%@ taglib uri="http://jakarta.apache.org/taglibs/benchmark" prefix="bm" %>
> <%@ taglib uri="http://java.sun.com/jsptl/ea/jr" prefix="jr" %>
> <bm:duration output="true">
> <html>
> <head><title>JSP Testing</title></head>
> <body>
> <H1>JSP Testing Page</H1><BR>
>
> Aktuelle Zeit: <FONT color='mediumblue'>
> <dt:format pattern="EEEEE, dd.MMMMM.yyyy 'um' HH:mm:ss z">
> <dt:currentTime/>
> </dt:format></FONT>
>
> <HR>
> <BR><FONT color='red'>Working Time: </bm:duration> ms </FONT>
> </body>
> </html>
>
> This is the exception I get:
>
> A Servlet Exception Has Occurred
> Exception Report:
>
> javax.servlet.ServletException: javax/xml/parsers/ParserConfigurationException
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:466)
> 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:215)
> 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:2314)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
> 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:163)
> 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:1000)
> at
> org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1093)
> at java.lang.Thread.run(Thread.java:484)
>
> Root Cause:
>
> java.lang.NoClassDefFoundError: javax/xml/parsers/ParserConfigurationException
> at java.lang.Class.newInstance0(Native Method)
> at java.lang.Class.newInstance(Class.java:237)
> at
>
>org.apache.jasper.compiler.TagLibraryInfoImpl.createValidator(TagLibraryInfoImpl.java:538)
> at
> org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:302)
> at
> org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:236)
> at
>
>org.apache.jasper.compiler.JspParseEventListener.processTaglibDirective(JspParseEventListener.java:1150)
> at
>
>org.apache.jasper.compiler.JspParseEventListener.handleDirective(JspParseEventListener.java:755)
> at
>
>org.apache.jasper.compiler.DelegatingListener.handleDirective(DelegatingListener.java:121)
> at org.apache.jasper.compiler.Parser$Directive.accept(Parser.java:243)
> at org.apache.jasper.compiler.Parser.parse(Parser.java:1126)
> at org.apache.jasper.compiler.Parser.parse(Parser.java:1091)
> at org.apache.jasper.compiler.Parser.parse(Parser.java:1087)
> at
> org.apache.jasper.compiler.ParserController.parse(ParserController.java:213)
> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:210)
> at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:528)
> at
>
>org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:176)
> at
> org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:188)
> at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:458)
> 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:215)
> 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:2314)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
> at
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
> 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:163)
> 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:1000)
> at
> org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1093)
> at java.lang.Thread.run(Thread.java:484)
>
>
>
> My web.xml looks like this:
>
> <?xml version="1.0" encoding="ISO-8859-1"?>
>
> <!DOCTYPE web-app
> PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
> "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
>
> <web-app>
> <display-name>SD-IMS</display-name>
> <description>
> WebApp for displaying dynamic maps with SD-IMS Server
> </description>
>
> <!-- SERVLET-SETTINGS -->
>
> <servlet>
> <servlet-name>
> ShowPage
> </servlet-name>
> <servlet-class>
> org.infokomGT.servlets.ShowPage
> </servlet-class>
> </servlet>
>
> <!-- TAGLIB-SETTINGS -->
> <taglib>
> <taglib-uri>http://jakarta.apache.org/taglibs/datetime</taglib-uri>
> <taglib-location>/WEB-INF/tlds/datetime.tld</taglib-location>
> </taglib>
>
> <taglib>
> <taglib-uri>http://jakarta.apache.org/taglibs/benchmark</taglib-uri>
> <taglib-location>/WEB-INF/tlds/benchmark.tld</taglib-location>
> </taglib>
>
> <taglib>
> <taglib-uri>http://java.sun.com/jsptl/ea/jr</taglib-uri>
> <taglib-location>/WEB-INF/tlds/jsptl-jr.tld</taglib-location>
> </taglib>
> </web-app>
>
>
> Some help would really be nice. If this isn't enough information, please
> feel free to ask for more!
>
> ++++++++++++++++++++++++++++++++
> Achim Weßling
> [EMAIL PROTECTED]
>
>