View
216
Download
0
Category
Preview:
Citation preview
08/10/2015
1
Introdução e Visão GeralPROFESSOR: RHAVY MAIA GUEDES
E-MAIL: RHAVY.MAIA@GMAIL.COM
Disposição da Web
08/10/2015
2
Clientes e Servidores Web
Clientes e Servidores WebTermos:◦ HTTP: protocolo que define o formato de como o cliente
pede recursos ao servidor e de como o servidor responde;
◦ HTML: um dos formatos em que um recurso pode estar, geralmente contendo informações que serão formatadas pelo cliente (browser);
◦ Requisição: frame HTTP com um pedido de recurso a um servidor;
◦ Resposta: frame HTTP com a resposta (sucesso ou erro) a uma requisição.
08/10/2015
3
Protocolo HTTP
Protocolo HTTP
08/10/2015
4
Protocolo HTTPDiferenças entre o POST e o GET:◦A quantidade de dados que se pode passar no GET é limitada pelo servidor (256 bytes, em geral);
◦Os dados enviados via GET são exibidos na barra de endereços do browser (expõe dados secretos).
Protocolo HTTPDetalhes de um GET:
08/10/2015
5
Protocolo HTTPDetalhes de um POST:
usuario=joao&senha=123&nome=Joao+da+Silva
Protocolo HTTPDetalhes de uma resposta:
08/10/2015
6
Protocolo HTTPDetalhes de uma resposta:
Protocolo HTTPComposição de uma URL típica:
O path é contado a partir de um diretório base que é específico de cada servidor web (o do apache é htdocs);
Se o recurso não estiver no path indicado ou o nome dele estiver errado, o servidor devolve uma resposta de erro.
08/10/2015
7
Protocolo HTTP
Protocolo HTTP
08/10/2015
8
Aplicação CGI1) O servidor web recebe um pedido de execução de uma aplicação (via
GET ou POST)
Aplicação CGI2) O servidor web cria um processo para a aplicação e passa alguns parâmetros em variáveis especiais
08/10/2015
9
Aplicação CGI3) A aplicação executa e devolve o resultado (código HTML) para o servidor web pela saída padrão
Aplicação CGI4) O servidor web monta um frame de resposta HTTP, põe o HTML
dentro dele e devolve para o cliente
08/10/2015
10
Comparativo entre Servlets e CGI
SERVLETS
Threads para cada requisição;
São classes especiais em Java;
Executam sob um container JEE que provê diversos aspectos de infra-estrutura.
Implementação de um ServletA classe Java deve herdar de HttpServlet:
08/10/2015
11
Implementação de um ServletDescritor de aplicação Web (web.xml):◦ Facultativo a criação do web.xml na especificação Servlets 3.0.
Implementação de um ServletEm Servlets 3.0, não é necessário criar o web.xml para mapear a classe Java:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
@WebServlet(“/show.do”)
public class AloMundoServlet extends HttpServlet {
public void doGet(HttpServletRequest req,
HttpServletResponse resp)
throws IOException, ServletException {
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
out.println("<h1>Alo, Mundo!</h1>");
}
}
08/10/2015
12
Implementação de um ServletDeve-se criar a seguinte estrutura com as classes compiladas:
Implementação de um ServletEstrutura no container Web:
08/10/2015
13
Implementação de um ServletPonha o servidor web no ar;
Abra o browser e aponte uma URL para o servlet
O servlet executa e o browser recebe o HTML <h1>Alo, Mundo</h1>para ser exibido
Recommended