O HttpServletResponse representa a resposta do Servlet. Anal...
I. setContentType() é um método que diz ao browser como tratar os dados enviados na requisição.
II. O método sendResponse(aStringURL) permite redirecionar uma solicitação.
III. Não é possível fazer um redirecionamento após uma resposta ter sido gerada.
Está(ão) correta(s) apenas a(s) afirmativa(s)
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Resposta Correta: D
Vamos analisar cada uma das afirmações para entender a resposta correta:
Afirmação I: O método setContentType()
é utilizado para especificar o tipo MIME do conteúdo da resposta, o que indica ao navegador como processar ou exibir o conteúdo enviado pelo servidor. Por exemplo, setContentType("text/html")
informa ao navegador que o conteúdo deve ser tratado como uma página HTML. Portanto, a afirmação I está incorreta, pois trata-se da resposta do servlet e não da requisição.
Afirmação II: A afirmação apresenta um erro de nomenclatura. O método correto para redirecionar uma solicitação é sendRedirect(String location)
e não sendResponse(aStringURL)
. O método sendRedirect()
envia ao navegador um cabeçalho de status informando que a página foi movida temporariamente para outro endereço. Sendo assim, a afirmação II está incorreta.
Afirmação III: É verdade que não se pode fazer um redirecionamento após a resposta ter sido comprometida, ou seja, após terem sido enviados os cabeçalhos e o corpo da resposta ao cliente. Qualquer tentativa de redirecionamento ou alteração no cabeçalho depois disso resultará em um erro, pois o servlet já indicou que a resposta foi concluída. Portanto, a afirmação III está correta.
Com base na análise, a alternativa correta é a D, pois somente a afirmação III está correta.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
afirmação I : Define o tipo de conteúdo da resposta que está sendo enviada ao cliente, se a resposta ainda não tiver sido confirmada. O tipo de conteúdo fornecido pode incluir uma especificação de codificação de caracteres, por exemplo, . A codificação de caracteres da resposta só é definida a partir do tipo de conteúdo fornecido se esse método for chamado antes de ser chamado. - Documentaçao java.
afirmação II - não encontrei este método na documentação java para o HttpServletResponse
afirmação III - Correta, pois Este método não tem efeito se chamado após a confirmação da resposta. Ele não define a codificação de caracteres da resposta se for chamado após ter sido chamado ou após a resposta ter sido confirmada.
https://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletResponse.html
O método sendResponse auxilia o Servelet a enviar uma resposta ao usuário
setContentType = Define o tipo de conteúdo
Exemplo:
response.setContentType("text/plain");
response.setContentType("application/json");
response.setContentType("text/html");
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo