2009-05-13 7 views
11

Ich möchte eine JAR-Datei schreiben, die die Javax-Servlet-API verwendet. Wenn ich gegen Version 2.2 schreibe, heißt das, dass es mit den Versionen 2.3, 2.4 und 2.5 funktioniert?Sind die Java-Servlet-APIs abwärtskompatibel?

Danke

+0

Warum sollten sie nicht? Die Interfaces wurden umbenannt, sehr wenige Methoden wurden hier und da hinzugefügt ... Wenn es eine wesentliche Änderung im Verhalten gab, würde es keinen Sinn machen, die gleichen Interfaces wiederzuverwenden - oder? –

Antwort

12

Ja, sie sind abwärtskompatibel.

Oracle Source

+0

Vielen, vielen Dank! –

+3

Nicht unbedingt - einige Dinge sind veraltet. Einige Dinge wurden in weiteren Versionen der Servlet-Spezifikation geklärt - zum Beispiel sollte SingleThreadModel um jeden Preis vermieden werden - wenn Sie Ihre Servlets letztendlich auf einem kompatiblen Kompatibilitätscontainer 2.3+ ausführen, sollten Sie SingleThreadModel vermeiden (es ist ein schlechte Praxis, jedenfalls). – MetroidFan2002

1

In den meisten Fällen sollte es keine Kompatibilitätsprobleme sein. Je nachdem, was du tust, kann es ein paar Fehler geben. Wenn Sie ein Framework schreiben, das Container-Klassen schmückt, wurden die Schnittstellen gelegentlich geändert. Zum Beispiel war das Verfahren ServletRequest.getRemotePort() nicht in der J2EE 1.3 version (vor Servlet 2.4) vorhanden. Diese Schwierigkeiten können überwunden werden, aber sei dir bewusst, dass du sie in deine Entwicklung und dein Testen einbeziehen musst.

+1

Danke. Ich bemerkte eine Sache - in 2.2 müssen Sie verwenden: HttpUtils.getRequestURL (Anfrage) .toString(); Wo wie in 2.3 + können Sie tun: request.getRequestURL(). ToString(); –

0

Es funktioniert, obwohl einige Methoden manchmal veraltet sind und Warnungen bezüglich ihrer Implementierung auslösen können.

Verwandte Themen