on 2/1/01 5:13 PM, "Sam Ruby" <[EMAIL PROTECTED]> wrote:

> Both the impending Tomcat 3.3 and Tomcat 4.0 look considerably different
> internally than the original Tomcat 3.0.  But the overwhelming majority of
> the servlets that ran on Tomcat 3.0 will run on either.  The reason?  The
> much maligned JCP views the servlet API as a contract.

The Servlet API is a terrible example of backwards compatibility...even with
regards to deprecated methods. Look at how many changes went into 2.0 -> 2.1
and then 2.1->2.2 that broke tons of code.

To this day, we still have at least one place in Turbine that require us to
use reflection in order to get the proper values that we need because
suddenly API methods are returning different values than previously
expected.

The fact that you can take Servlets for Tomcat 3.3 and Tomcat 4.0 and run
them the same way is simply because Danny and others got smart and
introduced a requirement within the specification itself that the backwards
compatibility exist.

Let me also add on to that the point of opening up the Watchdog stuff was in
part mitigated by the fact that myself and others were *screaming* for an
open test suite for all containers to be *required* to conform to.
Unfortunately, even to this day, that requirement has never been implemented
or even brought up again. :-( It is a miracle that there are so many
different servlet containers out there and that they, for the most part, all
run Servlets properly.

-jon


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to