Chris Cuilla wrote: > OK. Calming down from my frustration... > This line of questions is more appropriate on the TOMCAT-USER mailing list, since they are Tomcat-specific. However, I will comment on them here (cc'd to TOMCAT-USER) to avoid needless duplication. > > I have a web application that I have successfully deployed on Tomcat (up to > 3.2.1) for several weeks now. > > I began to move this over WebLogic 5.1 only to discover that I had to > (significantly) alter the web.xml deployment descriptor. > > First, The DTD...under Tomcat, the examples (and all of my descriptors) refer to > the following DTD: > > <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application > 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> > > However, WebLogic 5.1 usings the following: > > <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application > 1.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> > the "1.2" part of this public identifier is incorrect -- see the Servlet Specification, version 2.2, page 63. NOTE: Struts users <http://jakarta.apache.org/struts> have encountered other anomalies in WebLogic 5.1 as well, including not respecting the <load-on-startup> element, and various problems with the web app class loader. > > Secondly, WebLogic did not seem to like the fact that I had certain elements in > certain places, where Tomcat does not appear to have any problem with them. > The DTD for a web application deployment descriptor does require that the elements inside <web-app> be in a particular order. Tomcat 3.1 and 3.2 do *not* enforce this order (unless you use tag libraries in a JSP page -- it's a long story :-). Tomcat 4.0 *does* enforce this, and it sounds like WebLogic does as well. If your web.xml file has elements out of the required order, then your deployment descriptor is invalid. > > Strangely enough, when I change the web app deploying to Tomcat to the 1.2 > version shown above, it complains it cannot find it (and vice versa with > WebLogic). > Tomcat registers an internal copy of the DTD, under the public identifier described in the spec. This means that Tomcat doesn't need to go out on the Internet to grab a copy when processing a web.xml file. Changing the public identifier means that the internal registration no longer matches. > > So what gives? > > Chris Cuilla > President > Cuilla Enterprises, Inc. > Craig McClanahan --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
