Servlets, like
Applets, are hosted by a container that has to create them from a textual description -- i.e., the container has the name of the class in a web.xml file, and has to create an instance of that class. It will of course use reflection to do this. It's much simpler to say
than it would be to create the class, call "findDeclaredConstructors" to get one specific constructor, then call it, and then cast the result to a Servlet. It could be done, it's just simpler this way.
Back when Applets were designed, there
was no reflection API, and so the technique above was the
only way to do it.