slides

Propaganda
Programação II – Programação para
a Web
Christopher Burrows
Java Server Pages
Init
doGet (ou
equivalente)
3º Pedido
4º Pedido
5º Pedido
6º Pedido
Sim
Não
Não
Não
Sim
Não
Sim
Não
Não
Não
Sim
Não
Sim
Não
Sim
Não
Sim
Não
Sim
Não
Sim
Não
Sim
Não
Sim
Sim
Sim
Sim
Sim
Sim
Página alterada
Instanciação
do Servlet
2º Pedido
Servidor Reiniciado
Compilação
do Servlet
Página gerada da primeira vez
JSP
transformado
em Servlet
1º Pedido
Java Server Pages
 Deve-se
 Duas
–
–
limitar o código que é utilizado.
opções:
Colocar o código Java todo no JSP;
Colocar o código numa classe separada e
escrever uma linha no JSP que invoque essa
classe (ideal).
Java Server Pages
 Aspectos
em que a segunda opção é
melhor:
–
–
–
–
Desenvolvimento;
Depuração;
Teste;
Reutilização de código;
Java Server Pages
 Expressões:
–
–
Sintaxe: <%= expressão %>
Exemplo: <%= new java.util.Date() %>
 Scriptlets:
–
–
Syntaxe: <% código %>
Exemplo: <% String s =
request.getParameter(“nome”); %>
Java Server Pages
 Declarações:
–
–
Sintaxe: <%! Código %>
Exemplo:
<%!
private int multiplicar(int x, int y) {
return x*y;
}
%>
<%= multiplicar(4,5) %>
Java Server Pages – Exemplo 1
O
seguinte código apresenta uma página
com a data/hora actual:
<html>
<head><title>Data</title></head>
<body>
<p> A data é <%= new java.util.Date() %></p>
</body>
</html>
Java Server Pages – Exemplo 2
<html>
<head><title>Texto</title></head>
<body>
<%
String texto = request.getParameter("texto");
if(texto == null) {
%>
<p>Não foi inserido texto.</p>
<%
} else {
%>
<%=texto %>
<%
}
%>
</body>
</html>
Java Server Pages – Exemplo 3
<html>
<head>
<title>Multiplicação</title>
<%!
private int mult(int x, int y) {
return x*y;
}
%>
</head>
<body>
<p>5 x 6 = <%=mult(5, 6) %></p>
</body>
</html>
Java Server Pages
 Existem
–
–
–
–
–
5 variáveis predefinidas:
request (equivalente ao HttpServletRequest);
response (equivalente ao HttpServletResponse);
out (equivalente ao PrintWriter);
session (equivalente ao HttpSession);
application (equivalente ao HttpContext);
Exercicios
 Escrever
um JSP que imprima os números
de 1 a 10. (scriptlet)
 Escrever
um JSP que imprima o resultado
da divisão de dois números inseridos através
de um formulário. (scriptlets e declarações)
Download