Question

Pourquoi avons-nous besoin d'une méthode init () dans la servlet? Ne pouvons-nous pas utiliser le constructeur pour l’initialisation?

Était-ce utile?

La solution

Parce que Servlet est une interface, pas une classe abstraite. Les arguments de constructeur ne peuvent pas être spécifiés sur une interface, le ServletContext doit donc être spécifié sur une signature de méthode normale.

Cela permet au serveur d'applications de savoir comment initialiser correctement toute implémentation de servlet.

Une autre solution aurait été de demander à un constructeur utilisant ServletContext de prendre en compte, au moment de la compilation. Le serveur d'applications appelle ensuite le constructeur via une réflexion. Cependant, les concepteurs de la spécification Servlet n’ont pas choisi ce chemin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top