2011-10-14 18 views
6

GenericServlet implementa la interfaz ServletConfig lo que significa que todas las funciones de la interfaz pueden invocarse desde init() función de GenericServlet. Dado este contexto, ¿por qué el contenedor Servlet envía el objeto ServletConfig al método init()? También me gustaría saber si el objeto ServletConfig que se pasa a GenericServlet.init(ServletConfig) es diferente del objeto GenericServlet.¿Por qué se pasa ServletConfig obj a init() de GenericServlet cuando la clase implementa la interfaz?

Regards, Ravi

Respuesta

3

El GenericServlet implementa los métodos ServletConfig simplemente delegando en el objeto de configuración pasado al método init. Por lo tanto, implementa ServletConfig simplemente por conveniencia, simplemente lo delega. Entonces, en lugar de llamar al getServletConfig().getInitParameter(), puede llamar al getInitParameter()

+0

Gracias Bozho. Si un GenericServlet implementa ServletConfig, normalmente habría un consumidor que conoce GenericServlet solo como un objeto ServletConfig. Como los desarrolladores de servlets no miran los objetos GenericServlet como objetos ServletConfig, asumí que algún módulo Servlet Container tiene una referencia ServletConfig para GenericServlet. ¿Alguna parte de mis presunciones es válida? –

+0

el contenedor de servlets tiene otra implementación de ServletConfig que es la implementación real utilizada. simplemente lo pasa al servlet genérico – Bozho

Cuestiones relacionadas