iniciar y destruir los servlets de Java

los servlets usan init () para inicializar el estado de los servlets y destruyen para limpiar. ¿Hay un nombre de clase especial que necesitemos poner init () y destroy ()? ¿Cómo saben los servlets dónde encontrar estos métodos?

asp.net tiene un global.asax para manejar algo similar en asp.net, ¿los servlets tienen una clase especial para hacer lo mismo?

Muchas Gracias

preguntado el 16 de mayo de 11 a las 18:05

5 Respuestas

Debe estar en la misma clase que su clase Servlet.

Todos los servlets heredan este método de la clase de servlet base. A menos que desee realizar algún procesamiento adicional, el método heredado debería estar bien y no necesita anular este método en cada uno de sus servlets.

contestado el 16 de mayo de 11 a las 22:05

pero ¿qué clase de servlets tengo? ¿En qué clase debería poner estos dos métodos? - ICN

Todos los servlets heredan este método de la clase de servlet base. A menos que desee realizar algún procesamiento adicional, el método heredado debería estar bien y no necesita anular este método en cada uno de sus servlets. - Basanth Roy

@icn, implementarías init() en cualquier clase de Servlet en la que desee tener una lógica de inicialización especial en: mate b

así que incluso yo anulo estos dos métodos en una de mis clases de servlets de solicitudes muy frecuentes, ¿el servidor web / JVM se asegurará de que estos dos métodos se ejecuten solo una vez? - ICN

@icn sí. El ciclo de vida lo maneja el contenedor de servlets (catalina, etc.). No necesitas hacer nada manual. - Basanth Roy

Los servlets serán, en última instancia, una subclase del javax.servlet.Servlet class, que define esos métodos.

contestado el 16 de mayo de 11 a las 22:05

para que pueda poner estos dos métodos en cualquiera de mis clases de servlets y solo ponerlos una vez, el servidor JVM o tomcat buscará dónde están estos dos métodos. - ICN

Correcto, el contenedor Servlet accederá a su clase como objeto Servlet e invocará esos métodos por usted. - dlev

Los servlets se implementan en el contenedor (servidor web / servidor de aplicaciones), ese contenedor se encargará de inicializar o destruir los servlets, y no tenemos clases predefinidas para inicializar y destruir para los servlets, si usamos una clase particular, eso significa que dependemos de esa clase (Tightly Coupling) no se recomienda. Ahora estamos usando las clases GenericServlet y HttpServlet para esos métodos ... una vez que consulte la API J2EE y encuentre estas clases y métodos en ellos ...

respondido 17 mar '12, 14:03

La JVM que ejecuta el Servlet, busca esos métodos solo en clases, que se extienden Servlet or HttpServlet.

contestado el 16 de mayo de 11 a las 22:05

Los servlets son objetos gestionados. Esto significa que se ejecutan dentro de un contenedor que administra sus ciclos de vida (instancia los servlets, llama a sus métodos relevantes cuando es apropiado y los libera). El contenedor (Tomcat, Glassfish, ...) sabe cuándo llamar a estos métodos en el momento adecuado porque se implementa de esa manera, no hay nada especial en eso.

Si el contenedor tuviera un error, incluso podría llamar, digamos, destroy () en el momento de la inicialización e init () en el momento de la destrucción. Sin embargo, ese error se solucionaría rápidamente.

contestado el 16 de mayo de 11 a las 22:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.