OBJETIVO
Nesta aula será apresentado o desenvolvimento básico sobre HTTP Servlets. Espera-se que, ao final da apresentação, o aluno tenha noções de como escrever seu próprio HTTP Servlet.
PLANO DA APRESENTAÇÃOImplementando HTTP Servlets:
Como escrever um Sevlet Http; A requisição HTTP; Obtenção de dados de requisições; Exemplo; A resposta HTTP; Preenchimento de uma resposta; Exemplo; Como implementar doGet() e
doPost(); Parâmetros da requisição; Como ler parâmetros da
requisição; Como gerar uma resposta.
PLANO DA APRESENTAÇÃOImplementando HTTP Servlets:
Como escrever um Sevlet Http; A requisição HTTP; Obtenção de dados de requisições; Exemplo; A resposta HTTP; Preenchimento de uma resposta; Exemplo; Como implementar doGet() e
doPost(); Parâmetros da requisição; Como ler parâmetros da
requisição; Como gerar uma resposta.
COMO ESCREVER UM HTTP SERVLET
Estender HttpServlet; Implementar um ou mais de
seus métodos de serviço*; *tipicamente: doPost() e/ou doGet()
Para escrever um servlet HTTP...
PLANO DA APRESENTAÇÃOImplementando HTTP Servlets:
Como escrever um Sevlet Http; Como implementar doGet() e
doPost(); A requisição HTTP; Obtenção de dados de requisições; Exemplo; A resposta HTTP; Preenchimento de uma resposta; Exemplo; Parâmetros da requisição; Como ler parâmetros da
requisição; Como gerar uma resposta.
A REQUISIÇÃO HTTP Uma requisição HTTP feita pelo browser tipicamente contém vários cabeçalhos RFC822*.
* especificação de cabeçalho para e-mail
CABEÇALHO
Os métodos de HttpServletRequest permitem extrair informações de qualquer um deles.
PLANO DA APRESENTAÇÃOImplementando HTTP Servlets:
Como escrever um Sevlet Http; A requisição HTTP; Obtenção de dados de requisições; Exemplo; A resposta HTTP; Preenchimento de uma resposta; Exemplo; Como implementar doGet() e
doPost(); Parâmetros da requisição; Como ler parâmetros da
requisição; Como gerar uma resposta.
OBTENÇÃO DE DADOS DE REQUISIÇÕES
String getMethod() - retorna o nome do método requisitado pelo usuário. Ex.: GET
StringBuffer getRequestURL() - reconstrói a URL acessado pelo cliente.HttpSession getSession() - retorna a sessão atual relacionada com a requisição do cliente.
HttpSession getSession(true) – cria uma sessão caso não exista!String getParameter(String name) – retorna um parâmetro enviado pelo usuário.
Enumeration getParameterNames() - obtém nomes dos parâmetros.Enumeration getHeaderNames() - obtém nomes dos cabeçalhos.String getHeader("nome") - retorna um valor de um elemento do cabeçalho.
Cookie[] getCookies() - recebe cookies do clienteEntre outros...
Alguns métodos de HttpServletRequest:
PLANO DA APRESENTAÇÃOImplementando HTTP Servlets:
Como escrever um Sevlet Http; A requisição HTTP; Obtenção de dados de requisições; Exemplo; A resposta HTTP; Preenchimento de uma resposta; Exemplo; Como implementar doGet() e
doPost(); Parâmetros da requisição; Como ler parâmetros da
requisição; Como gerar uma resposta.
EXEMPLO
Código:
PLANO DA APRESENTAÇÃOImplementando HTTP Servlets:
Como escrever um Sevlet Http; A requisição HTTP; Obtenção de dados de requisições; Exemplo; A resposta HTTP; Preenchimento de uma resposta; Exemplo; Como implementar doGet() e
doPost(); Parâmetros da requisição; Como ler parâmetros da
requisição; Como gerar uma resposta.
A RESPOSTA HTTP Uma resposta HTTP é enviada pelo servidor ao browser e contém informações sobre os dados anexados.
Os métodos de HttpServletResponse permitem construir um cabeçalho.
PLANO DA APRESENTAÇÃOImplementando HTTP Servlets:
Como escrever um Sevlet Http; A requisição HTTP; Obtenção de dados de requisições; Exemplo; A resposta HTTP; Preenchimento de uma resposta; Exemplo; Como implementar doGet() e
doPost(); Parâmetros da requisição; Como ler parâmetros da
requisição; Como gerar uma resposta.
PREENCHIMENTO DA RESPOSTAAlguns métodos de HttpServletResponse:
addHeader(String nome, String valor) - adiciona cabeçalho HTTP.
void setStatus(int sc) - status da resposta. printWriter getWriter() - obtém um Writer para gerar a saída.
Ideal para saída de texto. Entre outros...
PLANO DA APRESENTAÇÃOImplementando HTTP Servlets:
Como escrever um Sevlet Http; A requisição HTTP; Obtenção de dados de requisições; Exemplo; A resposta HTTP; Preenchimento de uma resposta; Exemplo; Como implementar doGet() e
doPost(); Parâmetros da requisição; Como ler parâmetros da
requisição; Como gerar uma resposta.
EXEMPLO
Código:
PLANO DA APRESENTAÇÃOImplementando HTTP Servlets:
Como escrever um Sevlet Http; A requisição HTTP; Obtenção de dados de requisições; Exemplo; A resposta HTTP; Preenchimento de uma resposta; Exemplo; Como implementar doGet() e
doPost(); Parâmetros da requisição; Como ler parâmetros da
requisição; Como gerar uma resposta.
COMO IMPLEMENTAR DOGET() E DOPOST()O método doGet() processa as requisições GET.
•Alguns formulários que usam GET. •Os dados são exibidos na URL.
O método doPost() processa as requisições POST.• doPost() é usado para receber dados de formulários.
• Os dados não são exibidos no navegador.
PLANO DA APRESENTAÇÃOImplementando HTTP Servlets:
Como escrever um Sevlet Http; A requisição HTTP; Obtenção de dados de requisições; Exemplo; A resposta HTTP; Preenchimento de uma resposta; Exemplo; Como implementar doGet() e
doPost(); Parâmetros da requisição; Como ler parâmetros da
requisição; Como gerar uma resposta.
PARÂMETROS DA REQUISIÇÃOParâmetros são pares nome=valor que são enviados pelo cliente concatenados em strings separados por &:
Parâmetros podem ser passados na requisição de duas formas•Se o método for GET, os parâmetros são passados em uma única linha no query string, que estende a URL após um "?“:
•Se o método for POST, os parâmetros são passados como um stream no corpo na mensagem:
PLANO DA APRESENTAÇÃOImplementando HTTP Servlets:
Como escrever um Sevlet Http; A requisição HTTP; Obtenção de dados de requisições; Exemplo; A resposta HTTP; Preenchimento de uma resposta; Exemplo; Como implementar doGet() e
doPost(); Parâmetros da requisição; Como ler parâmetros da
requisição; Como gerar uma resposta.
COMO LER PARÂMETROS DA REQUISIÇÃO
• Os valores dos parâmetros(nome e idade) são recuperados pelo método getParameter(), por meio do servletRequest, que recebe o nome e a idade.
PLANO DA APRESENTAÇÃOImplementando HTTP Servlets:
Como escrever um Sevlet Http; A requisição HTTP; Obtenção de dados de requisições; Exemplo; A resposta HTTP; Preenchimento de uma resposta; Exemplo; Como implementar doGet() e
doPost(); Parâmetros da requisição; Como ler parâmetros da
requisição; Como gerar uma resposta.
COMO GERAR UMA RESPOSTAPara gerar uma resposta, primeiro é necessário obter, do objeto HttpServletResponse, um fluxo de saída, que pode ser de caracteres (Writer)
Deve-se também definir o tipo de dados a ser gerado. Depois, pode-se gerar os dados, imprimindo-os no objeto de saída obtido anteriormente.
?
Any Doubt