A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Desenvolvimento de Projetos e Aplicações Web

Apresentações semelhantes


Apresentação em tema: "Desenvolvimento de Projetos e Aplicações Web"— Transcrição da apresentação:

1 Desenvolvimento de Projetos e Aplicações Web

2 JSP

3 3 Conteúdo Introdução Arquitetura e funcionamento Sintaxe Elementos

4 4 JavaServer Pages Tecnologia Java para criação de aplicações Web com conteúdo dinâmico como HTML e XML JSP Permite separação de conteúdo dinâmico e estático JSP Suporta scripting e tags

5 5 Arquitetura JavaServer Pages Atua como a camada Web de acesso a aplicações n-tier Utiliza o protocolo HTTP para comunicação com browsers Requisições JSP são atendidas por servlets

6 6 Hello World Hello, World

7 7 Modelo de Requisições Hello, World Hello, World! JSP Engine Request Response

8 8 O JSPEngine é um software para: –Atender requisições de páginas JSP –Transformar uma página JSP requisitada em um servlet –Executar o servlet para atender as requisições JSP correspondentes Pode ser acoplado a um servidor web ou a um servidor de aplicações

9 9 Mecanismo (Funcionamento) Servidor Web JSP foi modificado ? JSP já traduzido em servlet ? Executar o Servlet Traduz JSP em Servlet Compila o Servlet Sim Não Sim Não Carrega o Servlet GET, POST HTTP RESPONSE

10 Sintaxe JSP

11 11 Elementos JSP Tags especiais Interpretados no servidor (não chegam ao browser) Organizados em 4 grupos: –Comentários –Diretivas e Taglibs –Scripting Elements Expressões, Declarações e Scriptlets –Ações

12 12 Elementos JSP ElementoTag Diretivas Declarações Expressões Scriptlets Comentários Custom Tags

13 13 Comentários Utilizados para comentar o código Não são processados pelo container JSP Sintaxe:

14 14 Diretivas Utilizadas para enviar mensagens para o container JSP, afetando a estrutura do Servlet a ser gerado. Sintaxe: directiveType: {include, page e taglib} Include e Page

15 15 Diretivas – Include Utilizado para incluir arquivos estáticos no documento JSP Sintaxe JSP: – Exemplos – –Topo, base, miolo, etc.

16 16 Diretivas – page Utilizado para descrever inúmeros atributos que serão considerados durante a criação do Servlet, tais como –Importação de pacotes; –Tipo de conteúdo; –Retorno; –Etc. Sintaxe JSP: –

17 17 Diretivas – page Define características válidas para toda a página JSP e qualquer trecho de página incluída com a Pode ser usada mais de uma vez na mesma página

18 18 Diretivas – page Cada opção só pode aparecer uma vez na página, exceção feita à opção import Embora possa ser colocada em qualquer lugar da página, é recomendável colocá-la no início do arquivo JSP

19 19 Diretivas – page Atributos de

20 20 import Pacotes/classes que serão utilizados no JSP Deve aparecer antes de referenciar a classe Pode-se separar pacotes por vírgula ou utilizar a opção import várias vezes

21 21 session session = true|false Quando true, a página utilizará o recurso de sessão HTTP e um objeto implícito session deverá estar disponível para a página JSP Quando false, a página não utilizará o recurso de sessão HTTP e qualquer referência ao objeto implícito session causará um erro em tempo de tradução

22 22 Tag Extensions Permite criação de tags personalizadas Cada tag deve possuir uma classe Java que implementa sua funcionalidade Propósitos diversos: –Manipulação de XML; Acesso a BD; IO;... Sintaxe: –

23 23 Taglibs - Exemplo

24 Scripting

25 25 Elementos de Scripting São fragmentos de código java inseridos em uma página JSP Declarações de variáveis, blocos de códigos, etc Subdividem-se em três categorias: –Expressões –Declarações –Scriptlets

26 26 Declarações Declarar variáveis e métodos usados nos Scriptlets e expressões Sintaxe: Exemplos: <%! public final static String[] meses = {"jan","fev","mar","abr","mai","jun"}; %> <%! public static String getMesAtual() { Calendar c = new GregorianCalendar(); return meses[c.get(Calendar.MONTH)]; } %>

27 27 Declarações – Exemplo Declarações JSP Declarações JSP Número de acessos a essa página desde reboot do server:

28 28 Scriptlets Fragmentos de código Java Sintaxe: Exemplo: <% for(int i=0; i<100; i++) out.println(i); %>

29 29 Scriptlets Se quisermos que alguma saída apareça na página HTML resultante, devemos usar o out <% String queryData = request.getQueryString(); out.println(Query String: " + queryData); %>

30 30 Scriptlets O código dentro de um scriptlet é inserido na página exatamente como escrito e qualquer HTML estático antes ou depois de um scriptlet é convertido em comandos print Por exemplo, o seguinte código contém texto e scriptlets: Bom dia! Mau dia! Será convertido (no servlet) para: if (Math.random() < 0.5) { out.println("Have a nice day!"); } else { out.println("Have a lousy day!"); }

31 31 Expressões Expressões enviadas diretamente ao output stream corrente –Insere o valor de um atributo ou chamada de método em página JSP Sintaxe: (sem o ;) Equivale a out.print(expressão), portanto, expressão não pode terminar em ; Exemplo: Apenas uma expressão Java

32 32 Exemplo <%// Isso é um scriptlet. // Note que a variável hoje" // é declarada aqui e usada na expressão mais adiante out.println( Data atual"); java.util.Date hoje = new java.util.Date(); %> Olá, hoje é

33 33 Objetos implícitos Objetos disponíveis nas páginas JSP sem a necessidade de declaração –Exceto session que depende para ser ativado/desativado Cada objeto implícito tem uma classe ou interface definida na API de Java out, request, response, session,...

34 34 Objetos implícitos: request Representa a requisição que causou a chamada do serviço Disponibiliza informações sobre os parâmetros passados pela requisição: tipo (GET, POST); headers (cookies) Objeto da classe HttpServletRequest

35 35 Objetos implícitos: request - Exemplos URL no browser: Recuperação dos parâmetros no JSP: <% String nome = request.getParameter("nome"); String idStr = request.getParameter("id"); int id = Integer.parseInt(idStr); %> Bom dia ! (cod: ) Cookies Cookie[] c = request.getCookies()

36 36 Objetos implícitos: response Representa a resposta enviada à requisição que causou o serviço Permite a atribuição de valores para o cabeçalho da resposta, criação de cookies, definição de parâmetros, etc.

37 37 Objetos implícitos: session Sessão estabelecida entre o cliente e o servidor Armazena informações que persistem por tempo determinado, podendo ser acessadas através de diversas páginas e requisições ao servidor

38 38 Objetos implícitos: session A sessão tem uma relação direta com o browser, isto é, duas janelas de um browser compartilham a mesma sessão A maneira como as sessões são mantidas depende do JSP Engine

39 39 Objetos implícitos: out Output stream para escrita da resposta no cliente Disponibiliza uma série de métodos para a escrita e controle do buffer de saída da página de resposta

40 40 Objetos implícitos: out Equivalente a response.getWriter(); Principais métodos –print() e println() Os trechos de código abaixo são equivalentes <% for (int i = 0; i < 10; i++) { out.print(" Linha " + i); } %> OU Linha

41 41 Referências Deitel, capítulo 27


Carregar ppt "Desenvolvimento de Projetos e Aplicações Web"

Apresentações semelhantes


Anúncios Google