JavaServer Pages (JSP) Flashcards
JavaServer Pages (JSP)
- A tecnologia de JavaServer Pages é uma extensão da API de Servlets.
- Um JSP torna-se um servlet.
- Utiliza-se templates (HTML ou XML), elementos customizados, linguagens de script e objetos Java server-side.
ESAF
JSP (Java Server Pages) é uma tecnologia que permite ao desenvolvedor de páginas para Internet produzir aplicações que acessem banco de dados, manipulem arquivos no formato texto e capturem informações a partir de formulários. Dessa forma, conteúdos dinâmicos podem ser adicionados para páginas estáticas, tais como páginas HTML.
Objetivo JSP:
- Seu objetivo também é gerar conteúdo dinâmico a partir do servidor.
Servlets e JSPs:
- Possuem o mesmo ciclo de vida;
- São gerenciados pelo container;
- Possuem API própria;
- Possuem acesso à sessão do cliente;
- Fazem uso de múltiplas threads.
Vantagens JSP:
- Habilita a separação da lógica da aplicação da apresentação
▪ Melhora a manutenabilidade e reusabilidade - Extensível via tags customizadas
- Suporta reuso através de JavaBeans e Tags Customizadas
- Independente de plataforma (só precisa de um container web para rodar)
- Faz uso da vasta API Java
CESPE
A JSP permite introduzir tags customizadas à sua biblioteca e, assim, estender facilidades à linguagem. Entre outros benefícios dessa prática estão a eliminação de scriptles em aplicações JSP, reuso e sintaxe similar à do HTML.
Diretivas:
Recurso para dar instruções especiais ao Container no momento da tradução da página.
Diretiva: <%@ %>
FCC
Para fornecer informações especiais ao container JSP sobre a página JSP, quando esta é compilada para servlet, é utilizada a categoria Diretivas.
Existem 3 diretivas:
- @page
- @taglib
- @include
@page:
▪ Define propriedades específicas da página;
▪ Define atributos de configuração da página JSP.
▪ Exemplos:
~~~
<%@ page contentType=”text/html” %>
<%@ page language=”java” %>
<%@ page import=”java.util.Date” %>
~~~
@taglib:
Define as bibliotecas de tags disponíveis para o JSP.
Exemplo:
~~~
<%@ taglib tagdir=”/WEB-INF/tags/cool” prefix=”cool” %>
~~~
▪ A URI identifica unicamente uma biblioteca de tags, localizando um arquivo TLD que descreve o conjunto de tags customizadas que devem ser
associadas ao prefixo especificado.
TLD significa tags lib descriptor (descritor de biblioteca de tags).
@Include:
- Define os textos e os códigos que são acrescentados na página atual no momento da tradução.
- Ex: Inclusão de um cabeçalho, rodapé ou assinatura.
Exemplo:
~~~
<%@ include file=”autor.jsp” %>
~~~
Elementos de criação de scripts - Decalaração:
- Servem para declarar membros da classe do servlet gerado.(As variáveis e os métodos!).
- Exemplo:
~~~
<%! int count=0; %>
~~~ - Tudo que estiver entre as tags
<%! E %>
é adicionado à classe FORA do método service(); - Pode declarar as variáveis estáticas e de instância.
-
Declaração:
<%! %>
Elementos de criação de scripts - Scriplet:
- Código Java dentre de uma tag
<% ... %>
- Todas as declarações em um scriptlet devem terminar com um ponto-e-vírgula!
- Scriptlet:
<% %>
- Você pode usar **<scripting-invalid>** para impedir que o JSP possua scripting (scriptles, expressões Java ou declaracões).</scripting-invalid>
Elementos de criação de scripts - Expressão:
- Sempre se torna o argumento para um método print();
- Exibe automaticamente aquilo que colocou entre as tags.
<%= Counter.getCount() %>
é igual a<% out.println(Counter.getCount()); %>
- Nunca terminar uma expressão com ponto-e-vírgula!
- NÃO DEVE usar um método com um tipo de retorno void como uma expressão.
- Expressão:
<%= %>
Comentários:
-
<!-- comentário HTML -->
Vai ao cliente e o browser interpreta como comentário. -
<%-- comentário JSP --%>
É removido no momento da tradução da página.
Java Beans:
- Um Java Bean é um componente reutilizável da API Java.
- Um bean nada mais é do que um programa escrito em Java.
- Java Beans podem ser facilmente acessados por páginas JSPs.
A especificação determina que todos os atributos privados de um objeto devem ser acessados por métodos getters e setters.
Estas convenções garantem que o objeto JavaBean possa ser utilizado por outras aplicações de maneira uniforme, distribuída e independente de plataforma:
Um Java Bean deve conter um construtor público e sem argumentos e implementar a interface Serializable.
JavaBeans vs Enterprise JavaBeans:
- JavaBeans → Definem um formato para a criação de componentes de uso geral para as aplicações.
- Enterprise JavaBeans → Componentes especializados na lógica de negóciode uma aplicação e que residem no servidor.
No JSP, os JavaBeans são acessados por meio de ações:
<jsp:useBean>
<jsp:getProperty>
<jsp:setProperty>