Interfaces?

5 respostas
R

Para que uma interface execute uma determinada função ela dever ser implementada em uma classe. Na API javax.servlet temos várias interfaces: ServletRequest, ServletResponse, RequestDispatcher, entre outras.
No código:

1 

2 

3 RequestDispatcher rd;

4 rd = request.getRequestDispatcher(Teste.jsp);

5 rd.forward(req, res);

6 

Na linha 5, como que o método forward() funciona se eu estou lidando com uma referência de interface, ou seja, que não tem métodos implementados?

Agradeço antecipadamente a atenção.

Roberto

5 Respostas

mlopes

Ola,

De uma olhada aqui no:

Tutorial sobre Interfaces

[]'s

R

No meu entendimento, parece-me que ainda existe uma contradição, pois mesmo entendendo que uma interface possa ser referenciada, como é que eu executo um método dessa interface se ele não foi implementado.

OBS: Pelo que eu conheço da API javax.servlet não existe uma implementação padrão para as interfaces RequestDispatcher, HttpServletRequest, HttpServletResponse, e outras mais.

mlopes

Certeza ???

De uma olhada por exemplo em

javax.servlet.http.HttpServletRequestWrapper
javax.servlet.http.HttpServletResponseWrapper

e

javax.servlet.http.HttpServlet
Agora olhe o método: getServletContext()

Ai estão suas implementações.

[]'s

dukejeffrie

Roberto, sua msg está no fórum errado.

Vc obviamente não sabe o básico de Java. Nem de Orientação a Objetos. Que tel ler alguma documentação, hein??

Quando vc pede um requestDispatcher, na verdade vc está recebendo uma implementação dele. A idéia de uma interface é vc justamente não querer saber qual é a implementação, desde que ela contenha os métodos que você precisa.

Quando vc faz um Servlet, vc implementa HttpServlet, certo?? Isso é pro tomcat poder usar a sua classe sem conhecer o código dela de antemão. Ele sabe que vc vai ter um método assim:

public void service(HttpServletRequest, HttpServletResponse);

Pra ele não interessa a implementação, desde que ele seja capaz de chamar o seu método.

[]s, Tiago.
P.S.: desculpem, hj eu tô estúpido.

R

:smiley: Valeu Marco.

Valeu Tiago.

PS: Tiago, você tem razão. É muito mais fácil jogar as perguntas no fórum. O problema da documentação é que elas tem tudo; basta procurar. No entanto, não fosse essa “preguiça”, todos nós encontraríamos todas as soluções. Seria apenas uma questão de tempo. E nesse caso, para que precisaríamos nós de fóruns?

Criado 11 de março de 2003
Ultima resposta 11 de mar. de 2003
Respostas 5
Participantes 3