2009-05-13 23 views
11

Quiero escribir un archivo JAR que haga uso de la API javax servlet. Si escribo en contra de la versión 2.2, ¿significa eso que funcionará en las versiones 2.3, 2.4 y 2.5?¿Las API de Java Servlet son compatibles con versiones anteriores?

Gracias

+0

¿Por qué no lo harían? Las interfaces se renombraron igual, muy pocos métodos se agregaron aquí y allí ... Si hubiera un cambio importante en el comportamiento, no tendría sentido reutilizar las mismas Interfaces, ¿o sí? –

Respuesta

12

Sí, son compatibles con versiones anteriores.

Oracle Source

+0

¡Muchísimas gracias! –

+3

No es raro, algunas cosas han quedado obsoletas. Además, algunas cosas tienen sus usos aclarados en otras versiones de la especificación del servlet; por ejemplo, SingleThreadModel debe evitarse a toda costa: si finalmente está ejecutando sus servlets en un contenedor compatible con 2.3+, debe evitar SingleThreadModel (es un mala práctica, de todos modos). – MetroidFan2002

1

En la mayoría de los casos, no debería haber ningún problema de compatibilidad. Puede haber un par de trampas, dependiendo de lo que esté haciendo. Si está escribiendo un marco que decora clases de contenedor, ocasionalmente se han modificado las interfaces. Por ejemplo, el método ServletRequest.getRemotePort() no estaba presente en el J2EE 1.3 version (antes del Servlet 2.4). Estas dificultades se pueden superar, pero tenga en cuenta que tendrá que factorizarlas en su desarrollo y prueba.

+1

Gracias. Noté una cosa: en 2.2 necesita usar: HttpUtils.getRequestURL (request) .toString(); Donde como en 2.3+ usted puede hacer: request.getRequestURL(). ToString(); –

0

Funcionará, aunque a veces algunos métodos estarán en desuso y pueden arrojar advertencias sobre su implementación.

Cuestiones relacionadas