Interface HttpServletResquest. Os métodos de HttpServletRequest permitem extrair informações da...

Preview:

Citation preview

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

Recommended