You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@jakarta.apache.org by Chris Cuilla <ch...@cuilla.com> on 2001/01/19 21:52:27 UTC

WebLogic 5.1 vs. Tomcat 3.2.1 ... who is correct?

OK. Calming down from my frustration...

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

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.

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).

So what gives?


Chris Cuilla
President
Cuilla Enterprises, Inc.

If what you did yesterday still seems great today, then your goals for tomorrow
are not big enough.



Re: WebLogic 5.1 vs. Tomcat 3.2.1 ... who is correct?

Posted by "Craig R. McClanahan" <Cr...@eng.sun.com>.
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