JSP: Introdução Parte 1

elainececiliagatto 1,611 views 26 slides May 19, 2015
Slide 1
Slide 1 of 26
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26

About This Presentation

JSP: Introdução Parte 1


Slide Content

LINGUAGEM DE PROGRAMAÇÃO III APLICAÇÕES WEB

Introdução Uma página HTML simplesmente é retornada como está ao cliente, sem processamento pelo servidor, e, se isso acontecer para uma página que contenha código java nela, o navegador não sérá capaz de decifrar a parte JAVA do conteúdo da página. É exatamente isto que uma JSP permite que o desenvolvedor faça A página tem uma extensão JSP que alerta ao servidor que ela pode ter código JAVA que precisa ser processado e, ao mesmo tempo, permite que o restante do conteúdo HTML permaneça intacto.

Introdução Você pode ter uma página JSP que contenha apenas código HTML. Um página JSP consiste em código JAVA incorporado em HTML, portanto ela se assemelha bem a um arquivo HTML puro, com habituais etiquetas HTML, acrescido de etiquetas especiais que englobam o código JAVA. Cada trecho de código JAVA é colocado entre etiquetas especiais que alertam o servidor para o código embutido que precisa ser compilado, processado e convertido em conteúdo dinâmico HTML equivalente

Introdução Ao examinar o código JAVA embutio, o servidor automaticamente cria um novo SERVLET, nos bastidores, um por JSP, e converte o código JAVA embutido em código equivalente de tranferência de HTML. Código JAVA é opcional em páginas JSP. O que o TOMCAT faz? Uma simples página JSP dá muito trabalho ao container. Vejamos o que ocorre a seguir: O TOMCAT “viu” que a solicitação era por um arquivo com uma extensão .JSP e, assim preparou-se para criar um SERVLET.

Introdução Para cada arquivo JSP que for solicitado, o TOMCAT efetivamente criar um novo arquivo .JAVA, em tempo de execução, com o nome derivado do nome do seru arquivo JSP e o compila por conta própria para criar um arquivo SERVLET.CLASS Ele coloca todas essas classes SERVLET criadas por ele próprio em uma pasta chamada CATALINA (padrão) Várias subpastas são criadas para executar a página JSP:

Introdução x

Elementos JSP Etiquetas especiais são tecnicamente chamadas de ELEMENTOS. Sintaxe dos elementos JSP: <elemento_etiqueta nomeAtributo1=“valor1” nomeAtributo2=“valor2” ...> ........ </elemento_etiqueta> Os atributos represetam uma lista de pares nome/valor que se aplicam ao elemento_etiqueta, que podem ser ou não obrigatórios para cada etiqueta definida. Quando NÃO obrigatórios, assumem valores padrão.

Elementos JSP Para cada finalidade, exite um elemento apropriado de JSP. Exitem 5 tipos diferentes de elementos: Expressões Scriptlets Declarações Diretivas Elementos de ação Scriptlets e declarações são referidos como ELEMENTOS DE SCRIPTING

Expressões JSP Uma forma de inserir código JAVA em JSP é usar uma EXPRESSÃO JSP Uma EXPRESSÃO não é uma INSTRUÇÃO Uma EXPRESSÃO JAVA é delimitada pelas etiquetas de expressão <%= %>

Expressões JSP As ETIQUETAS DE EXPRESSÃO pegam a STRING delimitada por ela e a transferem usando uma INSTRUÇÃO OUT.PRINT() Se a EXPRESSÃO consistir em um OBJETO, JAVA invocará o método TOSTRING() a partir da superclasse global OBJECT. A etiqueta de expressão, portanto, deve ter no mínimo uma string delimitada

Expressões JSP A expressão é formada por uma ou mais variáveis, não uma instrução, portanto, a etiqueta de expressão <%=%> não termina com ponto e vírgula Exemplo: exibindo data e hora corrente Para apresentar a data em JAVA devemos usar new java.util.Date(); Isto gera um objeto do tipo DATE em Java. Quando o método TOSTRING() for chamado com um objeto do tipo DATE, ele retornará a STRING equivalente a este objeto

Expressões JSP O código fonte abaixo (EXEMPLO 1 JSP) ensina como exibir o conteúdo atual do OBJETO DATE como uma STRING <%@page contentType="text/html" pageEncoding="UTF-8" import="java.util.*"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title> :: EXEMPLO 1 - DATA :: </title> </head> <body> <h1> :: EXEMPLO 1 - DATA :: </h1> <p> <font face="TAHOMA" color="#green"> A hora atual é: <b> <%= new java.util.Date()%> </font> </b> </p> </body> </html >

Expressões JSP Código JAVA foi embutido na JSP A solicitação vai primeiro ao servidor TOMCAT, que procurará por quaisquer elementos Se ele encontrar, avaliará as variáveis incluídas na etiqueta e inserirá a STRING equivalente nessa posição OUT.PRINT() é usado para mostrar a string ao cliente, no caso, o navegador

Expressões JSP Vá até a pasta C:\ Users\Cissa\AppData\Roaming\NetBeans\8.0.2\apache-tomcat-8.0.15.0_base\work\Catalina\localhost\Exemplo1\org\apache\jsp Haverão dois arquivos: index_jsp.java e index_jsp.class Olhe o método _JSPSERVICE() O tomcat converteu a expressão em uma instrução JAVA equivalente

Scriptlets Expressões são limitadas em sua capacidade para incorporar lógica complexa de negócios Expressões podem apenas transferir valores de algumas variáveis ou expressões, mas não podem realizar processamento de lógica de negócios SCRIPTLETs fazem isso: instruções JAVA incluídas entre as etiquetas especiais <% %> Portanto, qual a diferença nas tags SCRIPTLETS e EXPRESSÕES?

Scriptlets Scriptlets em instruções válidas em JAVA, portanto, devem terminar com ponto e vírgula SCRIPTLETS são um meio para processar dados ou determinar valores de váriaveis necessárias para a JSP exibir como conteúdo HTML dinâmico EXEMPLO: alterando a forma de apresentar a data e hora usando EXPRESSÕES + SCRIPTLETS

Scriptlets Scriptlets em instruções válidas em JAVA, portanto, devem terminar com ponto e vírgula SCRIPTLETS são um meio para processar dados ou determinar valores de váriaveis necessárias para a JSP exibir como conteúdo HTML dinâmico EXEMPLO: alterando a forma de apresentar a data e hora usando EXPRESSÕES + SCRIPTLETS

Exemplo 2 <%@page contentType="text/html" pageEncoding="UTF-8" import="java.util.*"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title> :: EXEMPLO 2 - DATA :: </title> </head> <% java.util.Date horaAtual = new java.util.Date(); String hora = horaAtual.toString(); %> <body> <h1> :: EXEMPLO 2 - DATA ::</h1> <p> <font face="TAHOMA" color="#green"> A hora atual é: <b> <%= hora %> </font> </b> </p> </body> </html >

Exemplo 2 C:\ Users\Cissa\AppData\Roaming\NetBeans\8.0.2\apache-tomcat-8.0.15.0_base\work\Catalina\localhost\Exemplo2\org\apache\jsp O código java foi passado da forma como é! Portanto, o conteúdo do SCRIPTLET permanece intacto quando é convertido para um servlet As etiquetas de expressão são todas convertidas

Diretivas <%@ %>  diretivas Sintaxe geral: <%@ diretiva atributo1 = “valor1”, atributo2 = “valor2”, ... %> Três principais tipos de diretivas: Page Include Taglib

Diretivas A diretiva PAGE permite que classes sejam importadas para o JSP usando o atributo IMPORT Import recebe uma lista de classes que devem ser separadas por vírgulas Os nomes das classes devem ser totalmente qualificados na declaração import. Exemplo: java.util.Date (e não apenas Date) EXEMPLO NETBEANS

Importando Classes Personalizadas em sua JSP As classes que você cria também podem ser importadas na diretiva page Para isto, basta saber o caminho exato do arquivo .class Como JSPs são compilados em um SERVLET que pertence a um pacote nomeado, as classes personalizadas precisam ser postas em pacotes nomeados, de forma que possam ser importadas pela JSP usando a diretiva page import Exemplo

Declarações JSP Se você tiver muitas instruções JAVA em seu scriptlet, isso pode se tornar confuso e dificil de gerenciar Existem duas formas de organizar uma grande quantidade de código JAVA no scriptlet Declarações JSP Etiquetas JSP

Declarações JSP Declarações JSP São etiquetas que consistem no par <%! %>, com uma ou mais declarações de variáveis JAVA e/ou definições de métodos entre elas Permitem que especifique quaisquer atributos e/ou métodos que possa chamar a partir dos scriptlets e expressões Variáveis que precisam ser compartilhadas por scriptlets podem ser incluídas dentro de declarações Exemplo

Declarações JSP Se você abrir o arquivo JSP, notará que a declaração ficou bem no início da classe servlet Além disso, o código de transferência de HTML em _jspService() invoca o método getDate() declarado como parte do servlet Declarações de variáveis em scriptlets permanecem dentro do método _jspService() na conversão Variáveis definidas dentro de uma declaração são instanciadas apenas uma vez, após a primeira solicitação do servlet. Se você tentar atualizar uma página, isto poderá não funcionar

Declarações JSP Métodos escritos em uma declaração não podem ser compartilhados entre JSPs Se mais de um JSP precisar de um método específico, a declaração com esse método deverá ser repetida para todas as páginas que precisar dele Alterações feitas em um método em uma JSP teriam de ser levadas para a outra JSP Isto não é bom para a manutenção do sistema É recomendável NÃO usar declarações em JSPs
Tags