Pergunta

Por que precisamos de um método init () em servlet? não podemos usar o construtor para inicialização?

Foi útil?

Solução

Porque Servlet é uma interface, não uma classe abstrata. argumentos do construtor não pode ser especificado em uma interface, de modo que as necessidades ServletContext a ser especificado em uma assinatura de método normal.

Isso permite que o servidor de aplicativos para saber como inicializar qualquer implementação Servlet corretamente.

Outra solução teria sido a exigir, mas não cumprir em tempo de compilação, um construtor de tomar ServletContext. O servidor de aplicativos, então, chamar o construtor através de reflexão. No entanto, os designers da especificação Servlet não escolheu este caminho.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top