aula_01_07_08_2013

19
Linguagem de programação 5 Prof. Takeshi Waku

Transcript of aula_01_07_08_2013

Linguagem de

programação 5

Prof. Takeshi Waku

Agenda Semestral

� 07/08 Visão geral Web, HTML;

� 14/08 Evolução do desenvolvimento de soluções (stand-alone, applets, client-server e três

camadas);

� 21/08 Visão geral do desenvolvimento em três camadas;

� 04/09 Visão geral dos servidores de aplicação;

� 11/09 Java na Web;

� 18/09 Segurança;

� 25/09 Desempenho;

� 02/10 Usando Java Server Pages (JSP);

� 09/10 Servlets;

� 16/10 Diferenças entre JSP e Servlets;

Prof. Takeshi Waku 2

Agenda Semestral� 23/10 Acessando dados em formato texto e em bancos de dados com JSP e Servlets;

� 30/10 Interface interativa e intuitiva;

� 06/11 Navegabilidade;

� 13/11 Desenvolvimento de um Programa ou Aplicativo em Java Enterprise Edition (JSP e Servlets).

� 20/11 Dia consciência negra não há aula.

� 27/11 p2

� 4/12 vista

� 11/12 exame

Prof. Takeshi Waku 3

Bibliografia

� Web

� Use a cabeça! JSP e Servlets

� Sobre Java e melhores práticas

� Refactoring, Martin Fowler

� Effective Java - 2nd edition, Joshua Bloch

� Design Patterns, Erich Gamma et al

� Para iniciantes na plataforma Java:

� Java - Como programar, de Harvey M. Deitel

� Use a cabeça! - Java, de Bert Bates e Kathy Sierra

Prof. Takeshi Waku 4

HTTP (HyperText Transfer Protocol)

� Permitir uma transferência de ficheiros

(essencialmente no formato HTML) localizados

graças a uma cadeia de caracteres

chamada URL entre um navegador (o cliente) e um

servidor Web (chamado de resto httpd nas

máquinas UNIX).

Prof. Takeshi Waku 5

URL

� Uma URL (de Uniform Resource Locator), em

português Localizador Uniforme de Recursos, é o

endereço de um recurso (um arquivo, uma

impressora etc.), disponível em uma rede; seja a

Internet, ou uma rede corporativa, uma intranet.

Uma URL tem a seguinte estrutura:

protocolo://máquina/caminho/recurso

Prof. Takeshi Waku 6

Prof. Takeshi Waku 7

Pedido HTTP

� Uma linha de pedido : A linha compreende três elementos

que devem ser separados por um espaço:

� O método

� O URL

� A versão do protocolo utilizado pelo cliente (geralmente HTTP/1.0)

� GET http://pt.kioskea.net HTTP/1.0

Prof. Takeshi Waku 8

� Os campos de cabeçalho do pedido : trata-se de um conjunto de

linhas facultativas que permitem dar informações suplementares

sobre o pedido e/ou o cliente (Navegador, sistema de exploração,…).

Cada um destas linhas é composta por um nome que qualifica o tipo

de cabeçalho, seguido de dois pontos (:) e do valor do cabeçalho

� O corpo do pedido : é um conjunto de linhas opcionais que devem

ser separadas das linhas precedentes por uma linha vazia e

permitindo por exemplo um envio de dados por um comando POST

aquando do envio de dados ao servidor por um formulário

Prof. Takeshi Waku 9

Exemplo

� GET http://pt.kioskea.net HTTP/1.0

� Accept : text/html If-Modified-Since :

Saturday, 15-January-2000 14:37:11 GMT

� User-Agent : Mozilla/4.0 (compatible; MSIE

5.0; Windows 95)

Prof. Takeshi Waku 10

Comandos

� GET Solicita algum recurso como um arquivo ou

um script CGI (qualquer dado que estiver identificado pelo URI) por

meio do protocolo HTTP. Por exemplo, segue abaixo uma

comunicação entre um cliente e um servidor HTTP. O servidor possui

a URL www.exemplo.com, porta 80.

� HEAD Variação do GET em que o recurso não é retornado. É usado

para obter metainformações por meio do cabeçalho da resposta, sem

ter que recuperar todo o conteúdo.

Prof. Takeshi Waku 11

Comandos

� POST Envia dados para serem processados (por exemplo, dados de um formulário HTML) para o recurso

especificado. Os dados são incluídos no corpo do comando. Sua utilização em uma requisição ocorre

quando é necessário enviar dados ao servidor para serem processados, geralmente por um

programa script identificado no Request-URI. Uma requisição por meio desse método sempre requer que

as informações submetidas sejam incluídas no corpo da mensagem e formatadas como uma query string,

além de conter cabeçalhos adicionais especificando seu tamanho (Content-Lenght) e seu formato

(Content-Type). Por isso, esse método oferece uma maior segurança em relação aos dados transferidos,

ao contrário do método GET que os dados são anexados a URL, ficando visíveis ao usuário.14 Por

exemplo:

Prof. Takeshi Waku 12

Comandos

� PUT

� Envia certo recurso.

� DELETE

� Exclui o recurso.

� TRACE

� Ecoa o pedido, de maneira que o cliente possa saber o que os servidores

intermediários estão mudando em seu pedido.

� OPTIONS

� Recupera os métodos HTTP que o servidor aceita.

� CONNECT

� Serve para uso com um proxy que possa se tornar um túnel SSL (um túnel pode ser

usado, por exemplo, para criar uma conexão segura).Prof. Takeshi Waku 13

Rubricas

Prof. Takeshi Waku 14

Resposta HTTP

� Uma linha de estatuto : é uma linha que precisa a versão do protocolo utilizado e o

estado do tratamento do pedido através de um código e de um texto explicativo. A

linha compreende três elementos que devem ser separados por um espaço:

� A versão do protocolo utilizado

� O código de estatuto

� A significado do código

� Os campos de rubrica da resposta : trata-se de um conjunto de linhas facultativas

que permitem dar informações suplementares sobre a resposta e/ou o servidor.

Cada um destas linhas é composta de um nome que qualifica o tipo de rubrica,

seguido de dois pontos (:) e do valor da rubrica

� O corpo da resposta : contem o documento pedido

Prof. Takeshi Waku 15

Exemplo

� HTTP/1.0 200 OK

� Date : Sat, 15 Jan 2000 14:37:12 GMT

� Server : Microsoft-IIS/2.0 Content-Type : text/HTML Content-Length : 1245

Last-Modified : Fri, 14 Jan 2000 08:25:13 GMT

Prof. Takeshi Waku 16

CORPO DA RESPOSTA

Prof. Takeshi Waku 17

Os códigos de resposta

Prof. Takeshi Waku 18

Prof. Takeshi Waku 19