Tomcat 4.0.2 does not support the DecodeInterceptor tag of tomcat 3.3 in the server.xml as described in X-Application´s installation documentation.
If you want to use tomcat 4.0.2 with X-Application 3.1.2 and you need to use the default UTF-8 encoding (or some other than iso8859-1) you could use a sample encoding filter of tomcat 4:
1. copy the class webapps\examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class to yourapp\WEB-INF\classes\filters\SetCharacterEncodingFilter.class NOTE: respect the license conditions of apache in the corresponding java source file (same directory).
2. change your web.xml the following way:
code:
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC “-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN” “http://java.sun.com/dtd/web-app_2_3.dtd”>
I follows the instruction and test in Tomcat 4.0.3 and got the following errors in log file
2002-04-18 10:40:57 StandardManager[/abc]: Seeding random number generator class java.security.SecureRandom 2002-04-18 10:40:57 StandardManager[/abc]: Seeding of random number generator has been completed 2002-04-18 10:40:57 ContextConfig[/abc] Parse error in application web.xml org.xml.sax.SAXParseException: Element type “filter” must be declared. at java.lang.Throwable.fillInStackTrace(Native Method) at java.lang.Throwable.fillInStackTrace(Compiled Code) at java.lang.Throwable.(Compiled Code) at java.lang.Exception.(Compiled Code) at org.xml.sax.SAXException.(SAXException.java:45) at org.xml.sax.SAXParseException.(SAXParseException.java:56) at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1213) at org.apache.xerces.validators.common.XMLValidator.reportRecoverableXMLError(XMLValidator.java:1807) at org.apache.xerces.validators.common.XMLValidator.validateElementAndAttributes(Compiled Code) at org.apache.xerces.validators.common.XMLValidator.callStartElement(Compiled Code) at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(Compiled Code) at org.apache.xerces.framework.XMLDocumentScanner.parseSome(Compiled Code) at org.apache.xerces.framework.XMLParser.parse(Compiled Code) at org.xml.sax.helpers.XMLReaderAdapter.parse(Compiled Code) at javax.xml.parsers.SAXParser.parse(Compiled Code) at javax.xml.parsers.SAXParser.parse(Compiled Code) at org.apache.catalina.util.xml.XmlMapper.readXml(Compiled Code) at org.apache.catalina.startup.ContextConfig.applicationConfig(ContextConfig.java:256) at org.apache.catalina.startup.ContextConfig.start(Compiled Code) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:224) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Compiled Code) at org.apache.catalina.core.ContainerBase.start(Compiled Code) at org.apache.catalina.core.StandardContext.start(StandardContext.java:3345) at org.apache.catalina.core.ContainerBase.addChild(Compiled Code) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:454) at org.apache.catalina.core.StandardHost.install(StandardHost.java:714) at org.apache.catalina.startup.HostConfig.deployApps(Compiled Code) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:389) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:232) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Compiled Code) at org.apache.catalina.core.ContainerBase.start(Compiled Code) at org.apache.catalina.core.StandardHost.start(StandardHost.java:614) at org.apache.catalina.core.ContainerBase.start(Compiled Code) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:343) at org.apache.catalina.core.StandardService.start(Compiled Code) at org.apache.catalina.core.StandardServer.start(Compiled Code) at org.apache.catalina.startup.Catalina.start(Catalina.java:781) at org.apache.catalina.startup.Catalina.execute(Catalina.java:681) at org.apache.catalina.startup.Catalina.process(Catalina.java:179) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Compiled Code) at org.apache.catalina.startup.Bootstrap.main(Compiled Code)
I’d like to know which DTD you used initially?What caused the problem? Because from reading you initial post I thought: maybe he used a 2.3 DTD and he should switch back to 2.2. 2.2 is supposed to be the correct version of the DTD - when using Tomcat 3.3 and Tomcat 4.0.