Why do we need an init() method in servlet? Can't we use the constructor to initialization?
Servlet constructor and init() method
Because Servlet is an interface, not an abstract class. Constructor arguments cannot be specified on an interface, so the ServletContext needs to be specified on a normal method signature.
This allows the application server to know how to initialize any Servlet implementation properly.
Another solution would have been to require, but not enforce at compile time, a constructor taking ServletContext. The application server would then call the constructor via reflection. However, the designers of the Servlet specification did not chose this path.
© 2022 - 2024 — McMap. All rights reserved.