Até onde eu vi numa apostila da Caelum, toda Servlet que fiz, herda de HttpServlet. Quando seguimos o modelo MVC isso sempre acontece? Essa herança acontece porque?
Nada impediria de você ter uma Servlet que herdasse de GenericServlet e falasse um outro protocolo em vez de http (ou https, que é apenas http sob SSL).
http://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/GenericServlet.html
Mas na prática todas as servlets são filhas, ou netas, ou bisnetas de HttpServlet.
certo, então no caso qualquer servlet que for utilizada por uma jsp é uma HttpServlet ou uma descendente dela, por isso esse tipo de herança?
É.
Muito boa resposta, agora sim eu entendo porque usá-lo. Agora sobre a herança da classe HttpServlet tenho uma questão.
Você pode implementar o método service(HttpServletRequest request, HttpServletResponse response). Esses dois parâmetros servem pra que? E porque eu preciso passa-los também como parâmetro quando eu utilizo o método forward de um RequestDispatcher?
Mais uma coisa (carinha chato rsrs), no Eclipse ele me diz que [b]RequestDispatcher[\b] é uma interface, e pelo que eu sabia, interfaces não podem ser instanciadas, apenas implementadas (me corrijam se estiver errado), então porque a linha abaixo é válida?
RequestDispatcher rd = request.getRequestDispatcher("/contato-adicionado.jsp");