This week's book giveaway is in the OCPJP forum.
We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line!
See this thread for details.
The moose likes Web Component Certification (SCWCD/OCPJWCD) and the fly likes protected modifier of doGet(), doPost() etc. Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of OCA/OCP Java SE 7 Programmer I & II Study Guide this week in the OCPJP forum!
JavaRanch » Java Forums » Certification » Web Component Certification (SCWCD/OCPJWCD)
Bookmark "protected modifier of doGet(), doPost() etc." Watch "protected modifier of doGet(), doPost() etc." New topic
Author

protected modifier of doGet(), doPost() etc.

Nidhi Sar
Ranch Hand

Joined: Oct 19, 2009
Posts: 252

Feeling confused about the access modifier of the doGet(...), doPost(...) and other methods of HttpServlet class.

How come it is protected instead of public?

Please take a look at the following Servlet:


As per my understanding, "protected" modifier of doGet() means that a client has to be in the same package (or a child - through inheritance) to access doGet(). So how will the invoking JSP or the Container access it?

Hope my question makes sense.


"A problem well stated is a problem half solved.” - Charles F. Kettering
SCJP 6, OCPJWCD
Piotr Nowicki
Ranch Hand

Joined: Jul 13, 2010
Posts: 610

Hi Nidhi!

That's quite interesting question and you made me to take some time with it :-)

I think that the container calls the Servlet.service(-) method (which is public). It then calls the HttpServlet.service(-) method which is protected and it then call doXxx(-) method.

So, the public access for Servlet.service(-) method is enough for the container to operate on servlet.


OCP Java SE 6 Programmer, OCM Java SE 6 Developer, OCE Java EE 6 JSPSD, OCE Java EE 6 EJBD, OCE Java EE 6 JPAD, Spring 3.0 Core Professional.
Nidhi Sar
Ranch Hand

Joined: Oct 19, 2009
Posts: 252

Pedro Kowalski wrote:I think that the container calls the Servlet.service(-) method (which is public). It then calls the HttpServlet.service(-) method which is protected and it then call doXxx(-) method.

So, the public access for Servlet.service(-) method is enough for the container to operate on servlet.


Got it! Didn't think of the public service(...) method between the container & the doXXX(...) methods!
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: protected modifier of doGet(), doPost() etc.