Domanda

Perché abbiamo bisogno di un metodo init () in servlet? Non possiamo usare il costruttore per l'inizializzazione?

È stato utile?

Soluzione

Perché Servlet è un'interfaccia, non una classe astratta. Gli argomenti del costruttore non possono essere specificati su un'interfaccia, quindi ServletContext deve essere specificato su una normale firma del metodo.

Ciò consente al server delle applicazioni di sapere come inizializzare correttamente qualsiasi implementazione Servlet.

Un'altra soluzione sarebbe stata quella di richiedere, ma non imporre in fase di compilazione, un costruttore che prendesse ServletContext. Il server delle applicazioni chiamerebbe quindi il costruttore tramite reflection. Tuttavia, i progettisti della specifica Servlet non hanno scelto questo percorso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top