Good question. I used to have this doubt when knowing about
servlets. Let me give it a try.
I think the reason for this is that one is always expected to(have to) extend the HTTPServlet class and implement the doGet/doPost methods. The container will execute the service() method in the parent HTTPServlet class and the overridden doGet/doPost methods get executed in the customized child classes of our own, by
polymorphism. Obviously we cannot call a protected method on an object instance and the same will the case of the container managing the servlet instance. I think i convinced myself here
Guys please correct me for any mistakes in the interpretation.
Thanks.