13
08/10/2015 1 Introdução e Visão Geral PROFESSOR: RHAVY MAIA GUEDES E-MAIL: [email protected] Disposição da Web

Introdução e Visão Geral · O path é contado a partir de um diretório base que é específico de cada servidor web (o do apache é htdocs); ... (HttpServletRequest req,

  • Upload
    vodat

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introdução e Visão Geral · O path é contado a partir de um diretório base que é específico de cada servidor web (o do apache é htdocs); ... (HttpServletRequest req,

08/10/2015

1

Introdução e Visão GeralPROFESSOR: RHAVY MAIA GUEDES

E-MAIL: [email protected]

Disposição da Web

Page 2: Introdução e Visão Geral · O path é contado a partir de um diretório base que é específico de cada servidor web (o do apache é htdocs); ... (HttpServletRequest req,

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.

Page 3: Introdução e Visão Geral · O path é contado a partir de um diretório base que é específico de cada servidor web (o do apache é htdocs); ... (HttpServletRequest req,

08/10/2015

3

Protocolo HTTP

Protocolo HTTP

Page 4: Introdução e Visão Geral · O path é contado a partir de um diretório base que é específico de cada servidor web (o do apache é htdocs); ... (HttpServletRequest req,

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:

Page 5: Introdução e Visão Geral · O path é contado a partir de um diretório base que é específico de cada servidor web (o do apache é htdocs); ... (HttpServletRequest req,

08/10/2015

5

Protocolo HTTPDetalhes de um POST:

usuario=joao&senha=123&nome=Joao+da+Silva

Protocolo HTTPDetalhes de uma resposta:

Page 6: Introdução e Visão Geral · O path é contado a partir de um diretório base que é específico de cada servidor web (o do apache é htdocs); ... (HttpServletRequest req,

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.

Page 7: Introdução e Visão Geral · O path é contado a partir de um diretório base que é específico de cada servidor web (o do apache é htdocs); ... (HttpServletRequest req,

08/10/2015

7

Protocolo HTTP

Protocolo HTTP

Page 8: Introdução e Visão Geral · O path é contado a partir de um diretório base que é específico de cada servidor web (o do apache é htdocs); ... (HttpServletRequest req,

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

Page 9: Introdução e Visão Geral · O path é contado a partir de um diretório base que é específico de cada servidor web (o do apache é htdocs); ... (HttpServletRequest req,

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

Page 10: Introdução e Visão Geral · O path é contado a partir de um diretório base que é específico de cada servidor web (o do apache é htdocs); ... (HttpServletRequest req,

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:

Page 11: Introdução e Visão Geral · O path é contado a partir de um diretório base que é específico de cada servidor web (o do apache é htdocs); ... (HttpServletRequest req,

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>");

}

}

Page 12: Introdução e Visão Geral · O path é contado a partir de um diretório base que é específico de cada servidor web (o do apache é htdocs); ... (HttpServletRequest req,

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:

Page 13: Introdução e Visão Geral · O path é contado a partir de um diretório base que é específico de cada servidor web (o do apache é htdocs); ... (HttpServletRequest req,

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