Interface HttpServletResquest
Interface HttpServletResquest
• Os métodos de HttpServletRequest permitem extrair informações da requisição do usuário.
• Cabeçalhos HTTP
Alguns métodos de HttpServletRequest
• Enumeration getHeaderNames() - obtém nomes dos cabeçalhos• String getHeader("nome") - obtém primeiro valor do cabeçalho• Enumeration getHeaders("nome") - todos os valores do cabeçalho• Enumeration getParameterNames() - obtém nomes dos
parâmetros• String getParameter(param) - obtém parâmetro HTTP• String[] getParameterValues(param) - obtém parâmetros repetidos• Cookie[] getCookies() - recebe cookies do cliente• HttpSession getSession() - retorna a sessão• setAttribute("nome", obj) - define um atributo obj chamado "nome"• Object getAttribute("nome") - recupera atributo chamado nome• String getMethod() – retorna o método HTTP da requisição
HttpServletResquest
• Informe a saída de cada uma das linhas de impressão em tela:
• Código no próximo slide
• Nome da Servlet = ServletGetHeader.java
HttpServletResquest
• Informe a saída de cada uma das linhas de impressão em tela:
• Código no próximo slide
• Nome da Servlet = ServletGetParameter.java
• Nome do HTML = indexGetParameter.html
Arquivo HTML
Arquivo Servlet
HttpServletResquest
• Informe a saída de cada uma das linhas de impressão em tela:
• Código no próximo slide
• Nome da Servlet = ServletCookie.java
Arquivo Servlet
sendRedirect vs. getRequestDispatcher
O método sendRedirect(String), do objeto response (resposta), redireciona para uma URL e deixa o navegador tratar a URL:
response.sendRedirect(“www.uniban.br”);
Já o método getRequestDispatcher(String), do objeto request (requisição), permite que seu parâmetro seja um endereço relativo à aplicação ou um recurso.
Request.getRequestDispatcher(resultado.jsp);
HttpServletResquest +sendRedirect() + getRequestDispatcher()
• Informe a saída de cada uma das linhas de impressão em tela:
• Código no próximo slide
• Nome da Servlet = ServletSessionEMethod.java
• Nome da JSP = indexSessionEMethod.html
Arquivo JSP
Arquivo Servlet
getParameterNames() + getParameterValues
• Informe a saída de cada uma das linhas de impressão em tela:
• Código no próximo slide
• Nome da Servlet = ServletParameterValuesENames.java
• Nome da HTML = indexParameterValuesENames.html
Arquivo Servlet
Arquivo HTML
Interface HttpServletResponse
Interface HttpServletResponse
• Representa a Resposta para o usuário.Os métodos de HttpServletResponse permitem enviar uma resposta HTTP do servidor ao Browser e contém informações sobre os dados anexados.
• Protocolo HTTP
Alguns métodos de HttpServletResponse
• addHeader (String nome, String valor) - adiciona cabeçalho HTTP
• setContentType(tipo MIME) - define o tipo MIME que será usado para gerar a saída (text/html, image/gif, etc.)
• sendRedirect(String location) - envia informação de redirecionamento para o cliente (Location: url)
• Writer getWriter() - obtém um Writer para gerar a saída. Ideal para saída de texto.
• OutputStream getOutputStream() - obtém um OutputStream. Ideal para gerar formatos diferentes de texto (imagens, etc.)
• addCookie(Cookie c) - adiciona um novo cookie• reset() - limpa toda a saída inclusive os cabeçalhos• resetBuffer() - limpa toda a saída, exceto cabeçalhos
Alguns métodos de HttpServletResponse
• Existem 2 métodos principais:– setContentType(String);
• Text/html, application/jar, application/pdf...• .jpg -> contentType= "image/pjpeg"
.txt -> contentType= "text/plain"
.pdf -> contentType= "application/pdf"
– getWriter()
• É possível usar a resposta para definir:• Headers;• Erros de envio;• Cookies;
• 2 tipos de saída:• Caracteres (PrintWriter) ou bytes (ServletOutputStream)
• Pode redirecionar a saída com o método sendRedirect(String)
HttpServletResponse
• Informe a saída de cada uma das linhas de impressão em tela:
• Código no próximo slide
• Nome da Servlet = ServletResponse.java
Arquivo Servlet