Notas
HttpServletResponse
Conteúdo das notas (13)
Página 1
Agenda
Os métodos da interface HttpServletResponse (setContentType, setHeader, addHeader, sendRedirect, addCookie).
Comparar sendRedirect com RequestDispatcher.
Página 2
Os métodos da Interface HttpServletResponse
Página 3
setContentType
O código usado para definir o conteúdo da resposta é:
Aqui, assumimos que response é do tipo "HttpServletResponse".
setContentType é um método definido na interface ServletResponse e é usado para estabelecer o tipo de conteúdo da resposta, que no caso acima é "text/html".
O objetivo do método é informar ao browser o tipo de conteúdo que será recebido. Ex: "text/html", "application/jar",etc.
A assinatura do método é "void setContentType(String)".
Página 4
setHeader
response.setHeader(String name, String value) é o código usado para configurar response readers.
Quando configuramos response headers significa que o novo valor do header "Glassfish" agora será "Tomcat", se o header "Glassfish" já estiver presente.
Caso contrário, cria uma novo header de nome "Glassfish" e valor "Tomcat".
O método setHeader substituirá o valor antigo pelo novo caso o header já esteja presente!
Página 5
addHeader
Nós também podemos adicionar response headers pelo código:
O método addHeader adiciona um novo header e um novo valor ao response, caso o header já esteja presente.
Página 6
sendRedirect
Algumas vezes, o response pode ser tratado pelo método "sendRedirect" ou então pelo método "requestDispatcher".
O código que redireciona uma requisição HTTP para uma URL diferente é:
O browser tem a responsabilidade de redirecionar a requisição.
Nesse exemplo, o servlet não toma nenhuma ação.
O método sendRedirect recebe um objeto String do tipo URL.
O método sendRedirect pode receber URL relativas como argumento com ou sem a barra "/"
Quando não há a barra "/" inicial, tal qual o primeiro exemplo, o container constrói a URL relativa a URL original.
Quando há a barra "/" inicial, tal qual o segundo exemplo, o container constrói a URL relativa a própria aplicação web.
Página 7
sendRedirect (2)
O método sendRedirect não poderá ser chamado após a resposta ser comitada, ou seja, após algo já estiver sido escrito no stream de saída.
O método requestDispatcher irá transferir a requisição para outro elemento no servidor (talvez um arquivo Jsp).
Página 8
RequestDispatcher
Quando um RequestDispatcher for chamado, a URL não muda no browser.
RequestDispatcher será discutido em detalhes mais adiante.
Página 9
Comparando RequestDispatcher e SendRedirect
RequestDispatcher:
Realizado no lado servidor
URL não mostrada no browser cliente
São dois os métodos do RequestDispatcher: include e forward
sendRedirect():
Realizado no lado cliente
URL mostrada no browser cliente
Método recebe um argumento String
Página 10
Adicionando Cookies no Stream de Saída
Cookies são pequenos pedaços de informação que são armazenados no browser do cliente para identificá-lo em uma sessão.
Código para adicionar cookies:
"Cookie" é um objeto que pode ser criado por um construtor.
Página 11
Cookies / Text Streams
O código exemplo acima cria um cookie de nome "cliente" e valor "1234".
Código para obter um Text Stream:
O método getWriter() retornará um objeto "PrintWriter" que pode ser usado para escrita de texto no response de saída.
Página 12
Obtendo um Binary Stream
Código para obter um "Binary Stream":
O código acima retorna um objeto do tipo "ServletOutputStream", que pode ser utilizado para escrever dados binários no objeto response de saída.
Página 13
Conclusão
Aprendemos a:
Como configurar o content type do response.
Como usar o método sendRedirect.
Como enviar cookies ao browser.
Como configurar e adicionar headers ao objeto response.
Informações
- Descrição
- Concursos Públicos Desenvolvimento de Software (OCEJWCD 6 ONLINE COURSE) Notas sobre HttpServletResponse, criado por Luis Felipe Guariento em 11-01-2018.
- Criado por
- Luis Felipe Guariento
- Visualizações
- 0
- Avaliação