SlideShare uma empresa Scribd logo
1 de 30
LINGUAGEM DE
PROGRAMAÇÃO III
APLICAÇÕES WEB
ETIQUETAS
• Etiquetas constituem uma forma mais clara e mais poderosa
de se organizar código Java em JSPs
• A medida que lógicas de negócios se tornam complexas, passa
a ser crucial mover partes do código Java para blocos
gerenciáveis
• Não seria conveniente se simplesmente desenvolvessemos
todo o conteúdo de um SCRIPTLET, em um IDE java separado,
compilando-o lá, déssemos um nome especial a esse trecho
de código e tivéssemos nossa própria etiqueta especial na JSP,
especificando que o código JAVA associado a ela está na classe
TAL? É isso o que uma ETIQUETA faz.
ETIQUETAS
• O princípio de ETIQUETAS é o mesmo de etiquetas HTML
• O nome da etiqueta personalizada precisa ser associado a um
arquivo existente da classe JAVA, contendo o código JAVA que
toda instância dessa etiqueta precisará executar.
• Para fazer o mapeamento da etiqueta com a classe JAVA é
necessário usar um arquivo XML, chamado DESCRITOR DE TAG
• Cada etiqueta personalizada deverá pertencer a uma
BIBLIOTECA DE ETIQUETAS
ETIQUETAS
• Você pode ter várias bibliotecas de etiquetas
• CORPO DA ETIQUETA: é a parte na qual queremos realizar
operações tal como formatação
• Sintaxe:
<prefixo_biblioteca:nome_etiqueta
atributo1=“valor1” atributo2=“valor2” .... >
... Corpo ....
</prefixo_biblioteca:nome_etiqueta>
ETIQUETAS
• Passos para criar uma etiqueta personalizada:
1. Criar o arquivo JAVA que conterá o código Java para
a etiqueta. Não esquecer de criar um pacote.
2. Criar o Descritor de Biblioteca de Etiquetas (Tag Lib
Descriptor). Criar uma pasta chamada TLDS dentro
da pasta WEB-INF e colocar o arquivo ai.
3. Configurar o arquivo web.xml para o mapeamento da
biblioteca de tag
4. Usar a tag nas páginas JSP desejadas
ETIQUETAS
• Se comparar um SCRIPTLET com uma etiqueta
personalizada, você estará simplesmente movendo o
conteúdo do SCRIPTLET (linhas de código JAVA no
SCRIPTLET) para uma classe JAVA separada,
substituindo, na JSP, o SCRIPTLET por uma etiqueta
“personalizada” especial e concisa, especificando a
associação entre a etiqueta personalizada e sua classe
JAVA em um arquivo .TLD separado.
• A JSP parece mais limpa
ETIQUETAS
• Uma classe de etiqueta precisa sempre ESTENDER de
TAGSUPPORT
• DOSTARTTAG() e DOENDTAG(): métodos
chamados automaticamente pela estrutura quando o
servidor encontrar o inicio e o final da etiqueta
personalizada
• O código personalizado deve estar dentro de
DOSTARTTAG()
ETIQUETAS
• Se examinar a documentação da API de
TAGSUPPORT, você verá que ela tem um atributo
PROTECTED, chamado PAGECONTEXT, que
contém o mesmo objeto implícito PAGECONTEXT
disponível em uma JSP – a estrutura cuida de assegurar
que a TAGSUPPORT obtenha o mesmo
PAGECONTEXT em seu atributo
• GETOUT(): retorna um JSPWRITER que pode ser
usado para transferir HTML
ETIQUETAS
• SKY_BODY: é uma constante do tipo int definida na
interface TAG. Comunica ao chamador de
DOSTARTTAG() que a parte de avaliação do corpo da
etiqueta deve ser descartada, isto é, a etiqueta não tem
corpo.
• EXEMPLOS
CICLO DE VIDA
• Uma etiqueta pode conter uma etiqueta inicial, uma
etiqueta final e um corpo entre elas
• A maioria das etiquetas não precisa ter corpo
• TAGSUPPORT e BODYSUPPORT são classes de suporte
que fornecem implementação padrão para alguns dos
métodos obrigatórios
• BODYSUPPORT usado apenas quando a etiqueta tem
corpo
CICLO DE VIDA
• TAGSUPPORT e BODYSUPPORT implementam as
interfaces TAG, ITERATIONTAG e BODYTAG
• Quando estender uma classe para TAGSUPPORT ou
BODYSUPPORT lembre-se de que precisará
sobrescrever alguns métodos, como, por exemplo, o
DOSTARTTAG()
• Etiquetas de iteração: são usadas em um laço e devem
implementar ITERATIONTAG. Exemplo: processar o
conjunto resultante de uma consulta a banco
CICLO DE VIDA
• MÉTODOS IMPORTANTES:
1. DOSTARTTAG()
2. DOINITBODY()
3. DOAFTERBODY()
4. DOENDTAG()
5. RELEASE()
• Os métodos 1, 3 e 4 determinam quando descartar ou
chamar os métodos seguintes na sequencia. Retornam um
valor inteiro
• Esses cinco métodos devem ser chamados na sequencia
CICLO DE VIDA
• Sequencia de chamada
INTERFACE TAG
• Interface: TAG
• Método: doStartTag(0
• É chamado uma vez quando o inicio da etiqueta é
processado.
• É usado para inicializar a etiqueta e, geralmente, o
processamento completo da etiqueta (para etiquetas
sem corpo)
INTERFACE TAG
• Valores retornados:
• Tag.SKIP_BODY: o corpo da etiqueta deverá ser vazio e
será descartado
• Tag.EVAL_BODY_INCLUDE: o corpo da etiqueta deverá
estar presente e será avaliado
• BodyTag.EVAL_BODY_BUFFERED: o corpo da etiqueta
será colocado em uma memória temporária, podendo
ser processado mais tarde
INTERFACE BODYTAG
• Interface: BodyTag
• Método: doInitBody
• É chamado apenas para etiquetas com corpo
• É chamado uma vez após doStartTag(), mas antes do corpo
da etiqueta ser processado
• É usado para inicializar a etiqueta (além de doStartTag())
• Valor de retorno: void
INTERFACE INTERATIONTAG
• Interface: InterationTag
• Método: doAfterBody()
• É chamado apenas para etiquetas de iteração/corpo
• É chamado após o corpo da etiqueta ter sido
processado, mas antes de doEndTag()
INTERFACE INTERATIONTAG
• Valores retornados:
• InterationTag.EVAL_BODY_AGAIN: doAfterBody() deve
ser chamado mais uma vez
• Tag.SKIP_BODY: fim de processamento de corpo de
etiqueta
INTERFACE TAG
• Interface: Tag
• Método: doEndTag()
• É chamado uma vez quando o fim da etiqueta é
processado
• Valores retornados:
• Tag.EVAL_PAGE: avalia o restante da página
• Tag.SKIP_PAGE: descarta o restante da página após
esta estiqueta
INTERFACE TAG
• Interface: TAG
• Método: release()
• É chamado uma vez quando termina o processamento
da etiqueta
• É usado para liberar recursos não utilizados
ELEMENTOS DE AÇÃOE
JAVABEANS
• Elementos de ação são elementos JSP que parecem
com etiquetas HTML, tem um nome de etiqueta e uma
lista de pares, nome de atributo/valor
• O elemento de ação obtém a lista de pares, nome de
atributo/valor, e os passa adiante para uma classe
JAVA associada ao nome da etiqueta
• Cada elemento de ação tem um nome
ELEMENTOS DE AÇÃOE
JAVABEANS
• A especificação JAVA exige que cada elemento de ação
pertença a um grupo nomeado de elementos
• Etiquetas personalizadas são um tipo de elemento de
ação
• Um grupo nomeado de elementos é uma biblioteca de
etiquetas predefinidas
• Todos os elementos padrão devem começar com o
prefixo <jsp:
ELEMENTOS DE AÇÃOE
JAVABEANS
• Elementos de ação padrão:
• Representam o padrão, a rotina ou as ações mais
comumente usadas que uma JSP necessite realizar
• Não são etiquetas personalizadas
• Exemplos:
• <jsp:include page=“index.jsp”/>
• <jsp:forward page=“erro.jsp”/>
ELEMENTOS DE AÇÃOE
JAVABEANS
• <jsp:usebean>
• É uma etiqueta padrão predefinida que permite que
você especifique uma classe JAVA personalizada e
passe atributos a ela
• Tem comportamento similar ao de uma etiqueta
personalizada
• Um BEAN ou JAVABEANS é uma classe JAVA (pojo)
ELEMENTOS DE AÇÃOE
JAVABEANS
• Regras para a criação de uma classe JAVA BEAN:
• A classe deve ser public
• Deve fornecer um construtor padrão sem argumentos
• As propriedades dos beans devem ser manipuladas
separadamente (métodos set e get)
• Convenção de nome. Exemplo: dataAtual, horaAtual.
ELEMENTOS DE AÇÃOE
JAVABEANS
• Para invocar um bean na JSP, será necessário usar o
elemento de ação-padrão <jsp:useBean>
• Sintaxe:
• <jsp:useBean id=“nome_bean” class=“classe_bean”
scope=“escopo_bean”>
• Atributo: ID
• Significado: nome usado para identificar o objeto bean
na JSP. Deve ser único na JSP
ELEMENTOS DE AÇÃOE
JAVABEANS
• Atributo: CLASS
• Significado: nome totalmente qualificado da classe
bean, incluindo pacote
• Atributo: SCOPE
• Significado: escopo no qual um BEANS permanece
definido.
• VALORES DO ATRIBUTO SCOPE: page, request, session,
aplication
ELEMENTOS DE AÇÃOE
JAVABEANS
• PAGE: o bean estará em escopo somente na página JSP
• REQUEST: o bean estará em escopo nesta página, e
para qualquer página para a qual a solicitação seja
encaminhada
• SESSION: o bean estará em escopo na sessão atual
• APPLICATION: o bean estará em escopo em todo o
aplicativo Web
ELEMENTOS DE AÇÃOE
JAVABEANS
• <jsp:getProperty> e <jsp:setProperty>: usados para
acessar e alterar o bean (como em get e set na classe
java)
• Exemplo:
<jsp:useBean id=“datahorabean”
class=“br.com.Etiqueta.DataHoraAtualBe
an” scope=“page”/>
<jsp:getProperty name=“datahorabean”
property=“dataApenas”/>
<jsp:setProperty name=“datahorabean”
property=“dataApenas” value=“true”/>
ELEMENTOS DE AÇÃOE
JAVABEANS
• O servidor web substituirá a tag pelo valor da
propriedade em si, convertido para uma string.
• Name corresponde ao atributo ID do elemento (ambos
devem conter extamente o mesmo valor)
• Exemplo

Mais conteúdo relacionado

Mais procurados

Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)Helder da Rocha
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Natanael Fonseca
 
001 cesep - turma java
001   cesep - turma java001   cesep - turma java
001 cesep - turma javaJunior Souza
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02Natanael Fonseca
 

Mais procurados (7)

Persistência JPA
Persistência JPAPersistência JPA
Persistência JPA
 
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
 
Como criar Custom Tags
Como criar Custom TagsComo criar Custom Tags
Como criar Custom Tags
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
001 cesep - turma java
001   cesep - turma java001   cesep - turma java
001 cesep - turma java
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
Estudos Technocorp
Estudos TechnocorpEstudos Technocorp
Estudos Technocorp
 

Semelhante a Aplicações Web com Etiquetas e JavaBeans

Semelhante a Aplicações Web com Etiquetas e JavaBeans (20)

JSPs Introdução Parte 1
JSPs Introdução Parte 1JSPs Introdução Parte 1
JSPs Introdução Parte 1
 
JSP: Introdução Parte 1
JSP: Introdução Parte 1JSP: Introdução Parte 1
JSP: Introdução Parte 1
 
JAVA - Pacotes
JAVA - PacotesJAVA - Pacotes
JAVA - Pacotes
 
Tag Libraries e JSTL
Tag Libraries e JSTLTag Libraries e JSTL
Tag Libraries e JSTL
 
08 modificadores static
08   modificadores static08   modificadores static
08 modificadores static
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Mapeamento de herança OR
Mapeamento de herança ORMapeamento de herança OR
Mapeamento de herança OR
 
Tag Libraries
Tag LibrariesTag Libraries
Tag Libraries
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
 
Curso de ReactJS
Curso de ReactJSCurso de ReactJS
Curso de ReactJS
 
Refatorações
RefatoraçõesRefatorações
Refatorações
 
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
 
Wordpress Introdução ao Desenvolvimento de Templates
Wordpress Introdução ao Desenvolvimento de TemplatesWordpress Introdução ao Desenvolvimento de Templates
Wordpress Introdução ao Desenvolvimento de Templates
 
Curso HTML 5 - Construindo um Layout
Curso HTML 5 - Construindo um LayoutCurso HTML 5 - Construindo um Layout
Curso HTML 5 - Construindo um Layout
 
hibernate annotation
hibernate annotationhibernate annotation
hibernate annotation
 
Java
JavaJava
Java
 
xDocLet - Geração de código com xdoclet
xDocLet - Geração de código com xdocletxDocLet - Geração de código com xdoclet
xDocLet - Geração de código com xdoclet
 
Hibernate
HibernateHibernate
Hibernate
 
J530 14 xdoclet
J530 14 xdocletJ530 14 xdoclet
J530 14 xdoclet
 
Resumo da Sessão "Effective Geodatabase Programming" do Esri DevSummit 2012
Resumo da Sessão "Effective Geodatabase Programming" do Esri DevSummit 2012 Resumo da Sessão "Effective Geodatabase Programming" do Esri DevSummit 2012
Resumo da Sessão "Effective Geodatabase Programming" do Esri DevSummit 2012
 

Mais de Elaine Cecília Gatto

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaElaine Cecília Gatto
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaElaine Cecília Gatto
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Elaine Cecília Gatto
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCElaine Cecília Gatto
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxElaine Cecília Gatto
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Elaine Cecília Gatto
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarElaine Cecília Gatto
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesElaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationElaine Cecília Gatto
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfElaine Cecília Gatto
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Elaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoElaine Cecília Gatto
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsElaine Cecília Gatto
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoElaine Cecília Gatto
 

Mais de Elaine Cecília Gatto (20)

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etaria
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à Medicina
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPC
 
entrevista r7.pdf
entrevista r7.pdfentrevista r7.pdf
entrevista r7.pdf
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptx
 
Empoderamento Feminino
Empoderamento FemininoEmpoderamento Feminino
Empoderamento Feminino
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCar
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de Correlações
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label Classification
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
 
Curtinhas de sábado.pdf
Curtinhas de sábado.pdfCurtinhas de sábado.pdf
Curtinhas de sábado.pdf
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamento
 
Cheat sheet Mips 32 bits
Cheat sheet Mips 32 bitsCheat sheet Mips 32 bits
Cheat sheet Mips 32 bits
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcação
 

Último

Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
Slide língua portuguesa português 8 ano.pptx
Slide língua portuguesa português 8 ano.pptxSlide língua portuguesa português 8 ano.pptx
Slide língua portuguesa português 8 ano.pptxssuserf54fa01
 
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxPLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxSamiraMiresVieiradeM
 
interfaces entre psicologia e neurologia.pdf
interfaces entre psicologia e neurologia.pdfinterfaces entre psicologia e neurologia.pdf
interfaces entre psicologia e neurologia.pdfIvoneSantos45
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 
Transformações isométricas.pptx Geometria
Transformações isométricas.pptx GeometriaTransformações isométricas.pptx Geometria
Transformações isométricas.pptx Geometriajucelio7
 
Livro O QUE É LUGAR DE FALA - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA  - Autora Djamila RibeiroLivro O QUE É LUGAR DE FALA  - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA - Autora Djamila RibeiroMarcele Ravasio
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Aula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfAula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfFernandaMota99
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.silves15
 

Último (20)

Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
Slide língua portuguesa português 8 ano.pptx
Slide língua portuguesa português 8 ano.pptxSlide língua portuguesa português 8 ano.pptx
Slide língua portuguesa português 8 ano.pptx
 
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxPLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
 
interfaces entre psicologia e neurologia.pdf
interfaces entre psicologia e neurologia.pdfinterfaces entre psicologia e neurologia.pdf
interfaces entre psicologia e neurologia.pdf
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 
Transformações isométricas.pptx Geometria
Transformações isométricas.pptx GeometriaTransformações isométricas.pptx Geometria
Transformações isométricas.pptx Geometria
 
Livro O QUE É LUGAR DE FALA - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA  - Autora Djamila RibeiroLivro O QUE É LUGAR DE FALA  - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA - Autora Djamila Ribeiro
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Aula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfAula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdf
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.
 

Aplicações Web com Etiquetas e JavaBeans

  • 2. ETIQUETAS • Etiquetas constituem uma forma mais clara e mais poderosa de se organizar código Java em JSPs • A medida que lógicas de negócios se tornam complexas, passa a ser crucial mover partes do código Java para blocos gerenciáveis • Não seria conveniente se simplesmente desenvolvessemos todo o conteúdo de um SCRIPTLET, em um IDE java separado, compilando-o lá, déssemos um nome especial a esse trecho de código e tivéssemos nossa própria etiqueta especial na JSP, especificando que o código JAVA associado a ela está na classe TAL? É isso o que uma ETIQUETA faz.
  • 3. ETIQUETAS • O princípio de ETIQUETAS é o mesmo de etiquetas HTML • O nome da etiqueta personalizada precisa ser associado a um arquivo existente da classe JAVA, contendo o código JAVA que toda instância dessa etiqueta precisará executar. • Para fazer o mapeamento da etiqueta com a classe JAVA é necessário usar um arquivo XML, chamado DESCRITOR DE TAG • Cada etiqueta personalizada deverá pertencer a uma BIBLIOTECA DE ETIQUETAS
  • 4. ETIQUETAS • Você pode ter várias bibliotecas de etiquetas • CORPO DA ETIQUETA: é a parte na qual queremos realizar operações tal como formatação • Sintaxe: <prefixo_biblioteca:nome_etiqueta atributo1=“valor1” atributo2=“valor2” .... > ... Corpo .... </prefixo_biblioteca:nome_etiqueta>
  • 5. ETIQUETAS • Passos para criar uma etiqueta personalizada: 1. Criar o arquivo JAVA que conterá o código Java para a etiqueta. Não esquecer de criar um pacote. 2. Criar o Descritor de Biblioteca de Etiquetas (Tag Lib Descriptor). Criar uma pasta chamada TLDS dentro da pasta WEB-INF e colocar o arquivo ai. 3. Configurar o arquivo web.xml para o mapeamento da biblioteca de tag 4. Usar a tag nas páginas JSP desejadas
  • 6. ETIQUETAS • Se comparar um SCRIPTLET com uma etiqueta personalizada, você estará simplesmente movendo o conteúdo do SCRIPTLET (linhas de código JAVA no SCRIPTLET) para uma classe JAVA separada, substituindo, na JSP, o SCRIPTLET por uma etiqueta “personalizada” especial e concisa, especificando a associação entre a etiqueta personalizada e sua classe JAVA em um arquivo .TLD separado. • A JSP parece mais limpa
  • 7. ETIQUETAS • Uma classe de etiqueta precisa sempre ESTENDER de TAGSUPPORT • DOSTARTTAG() e DOENDTAG(): métodos chamados automaticamente pela estrutura quando o servidor encontrar o inicio e o final da etiqueta personalizada • O código personalizado deve estar dentro de DOSTARTTAG()
  • 8. ETIQUETAS • Se examinar a documentação da API de TAGSUPPORT, você verá que ela tem um atributo PROTECTED, chamado PAGECONTEXT, que contém o mesmo objeto implícito PAGECONTEXT disponível em uma JSP – a estrutura cuida de assegurar que a TAGSUPPORT obtenha o mesmo PAGECONTEXT em seu atributo • GETOUT(): retorna um JSPWRITER que pode ser usado para transferir HTML
  • 9. ETIQUETAS • SKY_BODY: é uma constante do tipo int definida na interface TAG. Comunica ao chamador de DOSTARTTAG() que a parte de avaliação do corpo da etiqueta deve ser descartada, isto é, a etiqueta não tem corpo. • EXEMPLOS
  • 10. CICLO DE VIDA • Uma etiqueta pode conter uma etiqueta inicial, uma etiqueta final e um corpo entre elas • A maioria das etiquetas não precisa ter corpo • TAGSUPPORT e BODYSUPPORT são classes de suporte que fornecem implementação padrão para alguns dos métodos obrigatórios • BODYSUPPORT usado apenas quando a etiqueta tem corpo
  • 11. CICLO DE VIDA • TAGSUPPORT e BODYSUPPORT implementam as interfaces TAG, ITERATIONTAG e BODYTAG • Quando estender uma classe para TAGSUPPORT ou BODYSUPPORT lembre-se de que precisará sobrescrever alguns métodos, como, por exemplo, o DOSTARTTAG() • Etiquetas de iteração: são usadas em um laço e devem implementar ITERATIONTAG. Exemplo: processar o conjunto resultante de uma consulta a banco
  • 12. CICLO DE VIDA • MÉTODOS IMPORTANTES: 1. DOSTARTTAG() 2. DOINITBODY() 3. DOAFTERBODY() 4. DOENDTAG() 5. RELEASE() • Os métodos 1, 3 e 4 determinam quando descartar ou chamar os métodos seguintes na sequencia. Retornam um valor inteiro • Esses cinco métodos devem ser chamados na sequencia
  • 13. CICLO DE VIDA • Sequencia de chamada
  • 14. INTERFACE TAG • Interface: TAG • Método: doStartTag(0 • É chamado uma vez quando o inicio da etiqueta é processado. • É usado para inicializar a etiqueta e, geralmente, o processamento completo da etiqueta (para etiquetas sem corpo)
  • 15. INTERFACE TAG • Valores retornados: • Tag.SKIP_BODY: o corpo da etiqueta deverá ser vazio e será descartado • Tag.EVAL_BODY_INCLUDE: o corpo da etiqueta deverá estar presente e será avaliado • BodyTag.EVAL_BODY_BUFFERED: o corpo da etiqueta será colocado em uma memória temporária, podendo ser processado mais tarde
  • 16. INTERFACE BODYTAG • Interface: BodyTag • Método: doInitBody • É chamado apenas para etiquetas com corpo • É chamado uma vez após doStartTag(), mas antes do corpo da etiqueta ser processado • É usado para inicializar a etiqueta (além de doStartTag()) • Valor de retorno: void
  • 17. INTERFACE INTERATIONTAG • Interface: InterationTag • Método: doAfterBody() • É chamado apenas para etiquetas de iteração/corpo • É chamado após o corpo da etiqueta ter sido processado, mas antes de doEndTag()
  • 18. INTERFACE INTERATIONTAG • Valores retornados: • InterationTag.EVAL_BODY_AGAIN: doAfterBody() deve ser chamado mais uma vez • Tag.SKIP_BODY: fim de processamento de corpo de etiqueta
  • 19. INTERFACE TAG • Interface: Tag • Método: doEndTag() • É chamado uma vez quando o fim da etiqueta é processado • Valores retornados: • Tag.EVAL_PAGE: avalia o restante da página • Tag.SKIP_PAGE: descarta o restante da página após esta estiqueta
  • 20. INTERFACE TAG • Interface: TAG • Método: release() • É chamado uma vez quando termina o processamento da etiqueta • É usado para liberar recursos não utilizados
  • 21. ELEMENTOS DE AÇÃOE JAVABEANS • Elementos de ação são elementos JSP que parecem com etiquetas HTML, tem um nome de etiqueta e uma lista de pares, nome de atributo/valor • O elemento de ação obtém a lista de pares, nome de atributo/valor, e os passa adiante para uma classe JAVA associada ao nome da etiqueta • Cada elemento de ação tem um nome
  • 22. ELEMENTOS DE AÇÃOE JAVABEANS • A especificação JAVA exige que cada elemento de ação pertença a um grupo nomeado de elementos • Etiquetas personalizadas são um tipo de elemento de ação • Um grupo nomeado de elementos é uma biblioteca de etiquetas predefinidas • Todos os elementos padrão devem começar com o prefixo <jsp:
  • 23. ELEMENTOS DE AÇÃOE JAVABEANS • Elementos de ação padrão: • Representam o padrão, a rotina ou as ações mais comumente usadas que uma JSP necessite realizar • Não são etiquetas personalizadas • Exemplos: • <jsp:include page=“index.jsp”/> • <jsp:forward page=“erro.jsp”/>
  • 24. ELEMENTOS DE AÇÃOE JAVABEANS • <jsp:usebean> • É uma etiqueta padrão predefinida que permite que você especifique uma classe JAVA personalizada e passe atributos a ela • Tem comportamento similar ao de uma etiqueta personalizada • Um BEAN ou JAVABEANS é uma classe JAVA (pojo)
  • 25. ELEMENTOS DE AÇÃOE JAVABEANS • Regras para a criação de uma classe JAVA BEAN: • A classe deve ser public • Deve fornecer um construtor padrão sem argumentos • As propriedades dos beans devem ser manipuladas separadamente (métodos set e get) • Convenção de nome. Exemplo: dataAtual, horaAtual.
  • 26. ELEMENTOS DE AÇÃOE JAVABEANS • Para invocar um bean na JSP, será necessário usar o elemento de ação-padrão <jsp:useBean> • Sintaxe: • <jsp:useBean id=“nome_bean” class=“classe_bean” scope=“escopo_bean”> • Atributo: ID • Significado: nome usado para identificar o objeto bean na JSP. Deve ser único na JSP
  • 27. ELEMENTOS DE AÇÃOE JAVABEANS • Atributo: CLASS • Significado: nome totalmente qualificado da classe bean, incluindo pacote • Atributo: SCOPE • Significado: escopo no qual um BEANS permanece definido. • VALORES DO ATRIBUTO SCOPE: page, request, session, aplication
  • 28. ELEMENTOS DE AÇÃOE JAVABEANS • PAGE: o bean estará em escopo somente na página JSP • REQUEST: o bean estará em escopo nesta página, e para qualquer página para a qual a solicitação seja encaminhada • SESSION: o bean estará em escopo na sessão atual • APPLICATION: o bean estará em escopo em todo o aplicativo Web
  • 29. ELEMENTOS DE AÇÃOE JAVABEANS • <jsp:getProperty> e <jsp:setProperty>: usados para acessar e alterar o bean (como em get e set na classe java) • Exemplo: <jsp:useBean id=“datahorabean” class=“br.com.Etiqueta.DataHoraAtualBe an” scope=“page”/> <jsp:getProperty name=“datahorabean” property=“dataApenas”/> <jsp:setProperty name=“datahorabean” property=“dataApenas” value=“true”/>
  • 30. ELEMENTOS DE AÇÃOE JAVABEANS • O servidor web substituirá a tag pelo valor da propriedade em si, convertido para uma string. • Name corresponde ao atributo ID do elemento (ambos devem conter extamente o mesmo valor) • Exemplo