Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Dúvida no Ex. 3 da Aula 1 - Servlet API e fundamentos da Web

Eae galera tudo bem ?

minha duvida é simples acho , na hora em que a Response vai para o cliente ela sai pelo: PrintWriter .

a pergunta é ele é um método ? uma classe abstrata ou uma classe normal , pois não há instância ou há ?

valeu

9 respostas

Olá Gabriel! Respondendo suas duvidas... PrintWriter é uma classe normal. A instancia dessa classe, ou seja o objeto, é obtido através do metodo getWriter() do response que retorna um objeto PrintWriter.

Veja que para utilizar o PrintWriter você faz:

PrintWriter writer = response.getWriter()

Enfim, espero ter ajudado! Bons Estudos!

Olá Romário, entendi mas a minha duvida e a seguinte porque não podemos fazer:

PrintWriter writer = new PrintWriter();

essa classe só pode ser instanciada, pelo método getWriter ?

Na verdade você está instanciando Gabriel, só que não está utilizando nenhum construtor. Com o "new" é como se estivesse estanciando com um construtor vazio e assim teria acesso a todo os método da classe.

Quando se instância utilizando o getWriter, o objeto está recebendo o método da Classe PrintWriter, por isso quando você imprime utiliza somente write. + o que deseja imprimir.

Olá Cesar , sim ele já instância pegando o método e atribuindo a variável writer correto ? se eu der o new ele vai pegar todos o métodos da classe, mas a duvida e que se eu deixar:

PrintWriter writer = new PrintWriter();

O Eclipse marca como erro na linha, pelo que consegui ler na sugestão de correção e que quando se instância a classe ela deve ter um construtor ?

desculpa mais e que nao esta claro isso pra mim essa linha de codigo

solução

Olá Gabriel!

O que acontece é que o PrintWriter em seus construtores pede que seja passado como argumento um objeto tipo File, ou um OutputStream, ou um Writer, ou uma String indicando o caminho do arquivo. Você pode ver na doc PrintWriter que deixarei ao final. Então perceba que utilizar o PrintWriter dessa forma seria muito mais trabalhoso e complicado, assim simplesmente utilizamos o getWriter() do response que nos devolve um PrintWriter pronto que está configurado para HttpServletResponse.

Espero ter ajudado. Bons Estudos!

Doc PrintWriter

Olá Romario.

ou seja para eu dar a resposta para o meu usuário final utilizo o response.getWriter() , esse método me devolve um objeto do tipo PrintWriter ?

desde já agradeço a ajuda!

Sim Gabriel, response.getWriter() retorna um Objeto PrintWriter.

muito obrigado a todos !!!!

Por nada Gabriel! Qualquer coisa só perguntar que estamos aqui para ajudar. Bons Estudos!