Sie sind auf Seite 1von 1

Para que el servidor pueda encargarse de la ejecucin del servlet, ste tiene que respetar

ciertas caractersticas. Estas caractersticas se definen en la interfaz javax.servlet.Servlet


que se implementa en la clase abstracta javax.servlet.GenericServlet. Esta clase es
especializada por la clase javax.servlet.http.HttpServlet, que define las caractersticas de
un servlet que puede ser contactado gracias al protocolo HTTP. Prcticamente siempre
es sta la clase que se usa como clase base para los servlets. La seccin siguiente detalla
los mtodos principales disponibles que pueden redefinirse en esta clase.

Ciclo de vida de un servlet


Como cualquier clase Java, un servlet tiene que instanciarse para poder usarse.
Generalmente, cuando se necesita una instancia de una clase, se tiene que utilizar el
operador new para crearla. El problema con un servlet es que no se sabe exactamente en
qu momento se le necesitar. Son los clientes los que deciden cuando una instancia de
un servlet es necesaria generando una peticin HTTP para solicitar su ejecucin. El
servidor de aplicaciones es el mejor ubicado para detectar esta solicitud y es por lo tanto
el responsable de la creacin y la destruccin de las instancias de servlets. Para ello,
utiliza la estrategia siguiente:

En el momento de la recepcin de una peticin HTTP, determina si sta concierne a un


servlet. Si ste es el caso, verifica si ya hay una instancia de este servlet en memoria y
llama entonces al mtodo service de esta instancia de servlet. Si no hay ninguna
instancia disponible de este servlet, el servidor crea una y llama al mtodo init de esta
nueva instancia. Una vez hecho este paso adicional, puede llamar al mtodo service del
servlet.

Con esta tcnica, una misma instancia de servlet tratar las peticiones HTTP de muchos
clientes. Cuando el servidor estima que no se necesita ms a este servlet, destruye
automticamente la instancia correspondiente. Esta situacin se produce en general
nicamente en el momento de parada del servidor o cuando se publica una nueva
versin del servlet. Antes de la eliminacin de la instancia de un servlet se ejecuta su
mtodo destroy.

1. Mtodo init
El servidor invoca el mtodo init inmediatamente despus de la instanciacin del
servlet. Por defecto, la implementacin de este mtodo no realiza ninguna operacin. De
hecho existe para permitir la inicializacin de recursos que requiere el servlet para
ejecutar su tratamiento. Puede por ejemplo utilizarse para establecer una conexin con
un servidor de base de datos o para abrir un archivo en el que el servlet registrar
informacin (registro de informacin). Si la ejecucin del mtodo init no tiene xito se
lanza una excepcin del tipo ServletException. Esta excepcin permite al servidor
detectar la no disponibilidad del servlet.

2. Parmetros de inicializacin
Se puede evitar poner en el cdigo algunos datos que el servlet va a necesitar para su
inicializacin. Por ejemplo, en el caso en que ste requiera establecer una conexin con

www.fullengineeringbook.net

Das könnte Ihnen auch gefallen