2016-08-05 3 views
1
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);`` 
    } 

} 

Введенный по умолчанию код сервлета в eclipse я обнаружил, что методы doGet и doPost имеют защищенный доступ.Какие модификаторы доступа разрешены для защищенных методов

  1. Каковы различные модификаторы доступа, доступные для методов doXXX?
  2. Как это повлияет на поведение класса?
+0

[Здесь] (http://stackoverflow.com/a/33627846/276052) является хорошей ссылкой на модификаторы доступа и то, как они влияют на область видимости. До тех пор, пока вы фактически переопределяете методы (т. Е. Не частные или по умолчанию), это не повлияет на поведение сервлета. – aioobe

+0

У меня вопрос не возникает. protected является одним из модификаторов доступа. Вы имеете в виду, какие модификаторы доступа применимы для этих методов в дочернем классе, которые объявлены как защищенные в родительском? – JavaHopper

ответ

1

Вы не можете сделать более ограничительным доступ к унаследованному методу (для получения более подробной информации об этом вы можете проверить оракул documentation).

Это не влияет на поведение сервлета, поскольку это только вызов метода отправки из его метода обслуживания суперкласса (см. source code).

Смежные вопросы