slides

Propaganda
Programação II – Java Server Pages
Christopher Burrows
JavaServer Pages – o indicador
“page”


O indicador “page” que se encontra ao cimo do JSP
designa outros atributos para o servlet que resulta
do JSP.
Permite controlar:
–
–
–
–
–
–
Imports;
As classes das quais o servlet herda;
O tipo de dados gerados;
Se permite multithreading;
Se o servlet participa na sessão;
A página que trata de erros inesperados;
JavaServer Pages - import
 Formato:
–
–
<%@page import=“package.classe” %>
%@page import=“package.classe1,...,package.classeN
 Utilizar
sempre packages nas classes a
ser utilizadas por um JSP.
JavaServer Pages - import
 Exemplo:
<%@page import=“java.util.*, p2.Pessoa” %>
<% Pessoa p = new Pessoa(); %>
JavaServer Pages - contentType
 Formato:
–
–
–
<%@page contentType=“tipo” %>
<%@page contentType=“tipo; charset=charset”
%>
<%@page pageEncoding=“charset” %>
 Serve
para especificar o tipo de resultado
apresentado pelo JSP.
JavaServer Pages - contentType
 Exemplo
para uma página HTML normal:
<%page contentType=“text/html” %>
JavaServer Pages - session
 Formato:
–
<%@page session=“true/false” %>
 Serve
para especificar se um JSP faz parte
da sessão ou não;
 Por
defeito é verdadeiro;
JavaServer Pages - Tags
 <jsp:include
/>
 <jsp:param />
 <jsp:forward />
 <jsp:getProperty />
 <jsp:setProperty />
 <jsp:useBean />
jsp:include
 Formato:
–
<jsp:include page=“caminho” />
 Permite
incluir um ficheiro na altura em que
é feito o “request”.
 O ficheiro a incluir pode ser estático ou
dinâmico(ex: HTML/JSP/texto/outro).
jsp:include - Exemplo
<html>
<head></head>
<body>
<jsp:include page=“ola.jsp" />
</body>
</html>
jsp:useBean

Formato:
–


<jsp:useBean id=“nomeDoObjecto” class=“package.classe”
scope=“contexto” />
Permite criar uma instância de uma classe, sem
utilizar código Java explicito.
O atributo scope permite determinar o âmbito da
instância (page/session/application).
jsp:useBean
 As
classes a ser utilizadas como Beans
devem ter as seguintes propriedades:
–
–
–
Construtor vazio;
Os atributos devem ser private;
Gets/sets;
jsp:useBean - Exemplo
<html>
<head></head>
<body>
<jsp:useBean id=“p1“ class=“p2.Pessoa”
scope=“session” />
</body>
</html>
jsp:setProperty
 Formato:
–
<jsp:setProperty name=“nomeDoObjecto”
property=“atributo” value=“valor” />
 Permite
dar valores aos atributos de um
Objecto (da mesma forma que o método
.setAtributo() utilizado anteriormente).
jsp:setProperty - Exemplo
<html>
<head></head>
<body>
<jsp:useBean id=“p1“ class=“p2.Pessoa” scope=“session”
/>
<jsp:setProperty name=“p1” property=“nome”
value=“Xpto”/>
</body>
</html>
jsp:getProperty
 Formato:
–
<jsp:getProperty name=“nomeDoObjecto”
property=“atributo” />
 Permite
obter o valor do atributo de um
Objecto (da mesma forma que o método
.getAtributo() utilizado anteriormente).
jsp:getProperty - Exemplo
<html>
<head></head>
<body>
<jsp:useBean id=“p1“ class=“p2.Pessoa”
scope=“session” />
<jsp:getProperty name=“p1” property=“nome” />
</body>
</html>
jsp:forward
 Formato:
–
<jsp:forward page=“endereço” />
 Permite
reencaminhar o pedido e
respectivos parâmetros para outro ficheiro
HTML/JSP/Servlet.
jsp:forward - Exemplo
<html>
<head></head>
<body>
<jsp:forward page=“ola.jsp" />
</body>
</html>
jsp:param

Formato:
–
<jsp:param name=“nome” value=“valor” />

Serve para especificar um parâmetro adicional, a
acrescentar aos do pedido do utilizador.

Pode ser utilizado com o jsp:include/forward ou
dentro de um bloco <jsp:params></jsp:params>
Exercicio
 Criar
(ou utilizar de outra aula) a classe
Pessoa, com os seguintes atributos
(nome(String), idade(int), numBI(int)).
 Utilizando a página NovaPessoa, crie um
JSP que receba os dados do formulário e
crie uma instância da classe Pessoa com
esses dados (utilizando o
useBean/setProperty).
Exercicio
 Armazenar
o objecto Pessoa criado num
ficheiro PessoaJSP.dat.
 Criar outra página JSP que leia o ficheiro
PessoaJSP.dat e imprima os dados da
pessoa.
Download