AjaiArul
AjaiArul

Reputation: 53

What are the access modifiers allowed for protected methods

    package servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class SampleServlet
 */
@WebServlet("/SampleServlet")
public class SampleServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public SampleServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.getWriter().append("Served at: ").append(request.getContextPath());
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);``
    }

}

On the default generated servlet code on eclipse I found that doGet and doPost methods have protected access.

  1. What are the different access modifiers available for the doXXX methods?
  2. How It will affect the behavior of the class?

Upvotes: 1

Views: 153

Answers (1)

Nicolas Henneaux
Nicolas Henneaux

Reputation: 12205

You cannot make more restrictive the access of an inherited method (for more details about that you can check the oracle documentation).

It does not affect the behaviour of the servlet since it is only a dispatched method call from its super class service method (see the source code).

Upvotes: 1

Related Questions