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ÇÃO
Implementando 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ÇÃO
Implementando 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
 Para escrever um servlet HTTP...
 Estender HttpServlet;
 Implementar um ou mais de seus
métodos de serviço*;
*tipicamente: doPost() e/ou doGet()
PLANO DA APRESENTAÇÃO
Implementando 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*.
C
A
B
E
Ç
A
L
H
O
 Os métodos de HttpServletRequest permitem extrair informações de qualquer
um deles.
* especificação de cabeçalho para e-mail
PLANO DA APRESENTAÇÃO
Implementando 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
 Alguns métodos de HttpServletRequest:
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 cliente
Entre outros...
PLANO DA APRESENTAÇÃO
Implementando 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ÇÃO
Implementando 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ÇÃO
Implementando 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 RESPOSTA
Alguns 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ÇÃO
Implementando 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ÇÃO
Implementando 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ÇÃO
Implementando 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ÇÃO
Parâ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ÇÃO
Implementando 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ÇÃO
Implementando 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 RESPOSTA
Para 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
Download

Apresentação do Regivanderson.