Buscar

Fundamentos de JSP para Desenvolvimento WEB

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 32 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Desenvolvimento de Software 
para WEB 
 
Fundamentos de JSP 
(JavaServer Pages) 
Prof. Regis Pires Magalhães 
regispires@lia.ufc.br 
Agradecimentos 
• Agradecemos ao Prof. Fábio Dias (UFC Quixadá) 
por ter gentilmente cedido seus slides para 
adaptação e uso nesta disciplina. 
Introdução 
• Com o uso de Servlets o desenvolvedor se vê 
obrigado a inserir HTML no código Java 
• Gerar HTML a partir de classes Java em geral é 
muito trabalhoso e pouco produtivo: 
• Os designers precisariam se envolver na 
codificação de classes Java (Servlets). 
Exemplo 
<%@ page import="java.text.SimpleDateFormat, 
java.util.Calendar;" %> 
<html><head><title>JSP</title></head><body> 
<% 
Calendar c = Calendar.getInstance(); 
String hoje = 
SimpleDateFormat.getInstance().format( 
c.getTime()); 
%> 
Hoje é <%=hoje%> 
</body></html> 
JSP – JavaServer Pages 
• Similar ao ASP e PHP. 
• Permite usar o HTML de forma direta, e que 
também vá possibilitar a utilização do Java. 
• Dentro de um arquivo JSP podemos escrever 
também código Java, para adicionar 
comportamento dinâmico, como declaração de 
variáveis, condicionais (if), loops (for, while), 
etc. 
• JSP foi feito apenas para apresentar o resultado, 
e ele não deveria fazer acessos a banco de dados 
e nem fazer a instanciação de objetos. 
Divisão de funções entre JSP e Servlets 
• Servlet •fica responsável pela lógica de negócios 
(ou regras de negócio). 
• JSP deve ficar com a lógica de apresentação. 
Tradução 
• As JSP são traduzidas para Servlet e compiladas 
no momento de execução: 
JSP –Elementos de Script 
<% código %> 
• Scriptlets 
<% código %> 
• Expressões 
<%= expressão %> 
• Declarações de métodos e variáveis 
<%! código %> 
• Comentários 
<%-- código --%> 
Scriptlet 
• Scriptlet é o código escrito entre <% e %> . 
• Nome composto da palavra script (pedaço de 
código em linguagem de script) com o su•fixo let, 
que indica algo pequeno. 
JSP –Elementos de Script 
Scriptlets - Exemplo 
... 
<% código Java %> 
... 
<% String nome = request.getParameter(“NOME”) %> 
... 
<% 
String mensagem = "Bem vindo!"; 
%> 
JSP –Elementos de Script 
Scriptlets - Exemplo 
<h2>JSP URI, URL, Context</h2> Request Context 
Path: <%= request.getContextPath() %> Request 
URI: <%= request.getRequestURI() %> Request 
URL: <%= request.getRequestURL() %> 
JSP URI, URL, Context 
 
Request Context Path: /test 
Request URI: /test/uriTest.jsp 
Request URL: http://localhost:8080/test/uriTest.jsp 
JSP –Elementos de Script 
Scriptlets - Exemplo 
JSP –Elementos de Script 
Scriptlets - Exemplo 
• Com JSP é possível trabalhar o HTML dentro 
das estruturas de controle Java: 
 
<h1>Seja bem vindo !</h1> 
<% for(int i = 0; i < 10; i++){%> 
 <p>Tenha um bom dia!</p> 
<% } %> 
<h2>Essa página foi desenvolvida 
para...</h2> 
 
JSP – Elementos de Script 
Expressões 
• Expressões Java que retornam um valor 
convertido em String 
• É usado para inserir no HTML gerando valores 
dinâmicos determinados pela aplicação 
<%= expressão %> 
<%= myBean.getName() %> 
Hoje é <%= new java.util.Date() %> 
JSP – Elementos de Script 
Expressões - Exemplo 
<% 
java.util.Date d = new java.util.Date(); 
String hoje = 
java.text.DateFormat.getDateInstance(). 
format(d); 
%> 
<h1>Bom dia! A data de hoje é <%=hoje%> 
</h1> 
<h2>Contando até 10 ... </h2> 
<% for (int i = 1; i <= 10; i++) { %> 
Numero <b> <%=i%> </b><br/> 
<% } %> 
... 
 
Exemplo 
<?xml version="1.0" encoding="UTF-8" ?> 
<%@ page language="java" contentType="text/html; charset=UTF-8" 
 pageEncoding="UTF-8"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<body> 
<%-- comentário em JSP aqui: nossa primeira página JSP --%> 
<% 
String mensagem = "Bem vindo ao sistema de agenda"; 
%> 
<% out.println(mensagem); %><br /> 
<% 
String desenvolvido = "Desenvolvido por João"; 
%> 
<%= desenvolvido %><br /> 
</body> 
</html> 
JSP –Elementos de Script 
Declarações 
• Variáveis e métodos que são inseridos no código 
do servlet gerado, fora do método jspService(). 
 
 
 
<%! int i = 0; %> 
 
<%! public void function() { 
 //código 
 } 
 %> 
 
<%! código %> 
JSP –Elementos de Script 
Declarações - Exemplo 
<%! int acessos = 0; %> 
<h2>Essa página JSP já foi 
acessada:</h2> 
<h1> <%= numAcessos( )%> </h1> 
<h2>Seja bem vindo!!</h2> 
<%! 
private int numAcessos( ) { 
 acessos++; 
 return acessos; 
} 
%> 
JSP –Elementos de Script 
Variáveis Pré-Definidas 
• São variáveis pré-existentes em uma página JSP 
criadas para facilitar o desenvolvimento. 
Nome Classe Descrição 
application ServletContext Contexto da aplicação 
session HttpSession Sessão do usuário 
request HttpServletRequest Representação da requisição 
response HttpServletResponse Representação da resposta 
out JspWriter Writer da página 
exception Throwable Exceção recebida se for 
página de erro 
JSP –Elementos de Script 
Variáveis Pré-Definidas - Exemplo 
... 
<form method="get" action="frase.jsp" > 
Escreva uma palavra: <input type="text" 
name="palavra"/><br> 
<input type="submit" name="enviar" 
value="Enviar"> 
</form> 
... 
JSP –Elementos de Script 
Variáveis Pré-Definidas - Exemplo 
<% 
String palavra = 
request.getParameter("palavra"); 
String frase = 
(String)session.getAttribute("frase"); 
if(palavra == null || frase == null){ 
 frase = ""; 
} 
frase = frase + " " + palavra; 
session.setAttribute("frase", frase) ; 
%> 
<h1> Frase:<%=frase%></h1> 
EL: Expression Language 
• Ajuda a remover código Java da página JSP. 
• Simplifica a apresentação de parâmetros e 
atributos provenientes de Servlets: 
▫ ${param.idade} 
▫ ${nome} 
<html> 
Testando seus parâmetros:<br/> 
A idade é ${param.idade}. 
</html> 
JSP – Diretivas - Tipos 
• As diretivas definem informações gerais sobre a 
página JSP 
<%@ diretiva atributo=“valor” %> 
• As diretivas são: 
– page 
• Permite especificar configurações do Servlet gerado. 
– include 
• Permite a inclusão de um arquivo no Servlet durante a 
geração deste. 
– taglib 
• Permite o uso de tags definidas pelo desenvolvedor. 
JSP – Diretivas - Page 
• import 
▫ Define as classes importadas pelo Servlet 
da JSP separadas por vírgula 
<%@ page import="java.text.SimpleDateFormat, 
java.util.Calendar;" %> 
<%@ page import="java.text.SimpleDateFormat, 
java.util.Calendar;" %> 
<html><head><title>JSP</title></head><body> 
<% 
Calendar c = Calendar.getInstance(); 
String hoje = 
SimpleDateFormat.getInstance().format( 
c.getTime()); 
%> 
Hoje é <%=hoje%> 
</body></html> 
JSP – Diretivas - Page 
JSP – Diretivas - Page 
• errorPage=“url” 
▫ Especifica uma página que deve processar as 
exceções disparadas na página 
<%@ page errorPage=“paginaErro.jsp" %> <%@ page errorPage="paginaErro.jsp" %> 
• isErrorPage=“true|false” 
– Especifica se a página corrente é uma página de 
tratamento de erros(exceções) 
<%@ page isErrorPage="true" %> 
JSP – Diretivas - Page 
<%@ page errorPage="paginaErro.jsp" %> 
<html><head><title>JSP</title></head><body> 
<% 
if(request.getParameter("nome") == null) { 
throw new ServletException("Nome nao 
especificado"); 
} 
%> 
<h1>Ola, <%=request.getParameter("nome")%></h1> 
</body></html> 
JSP – Diretivas - Page 
<%@ page isErrorPage="true" %> 
<html><head><title>JSP</title></head> 
<body> 
Ocorreu um erro: 
<%=exception.getMessage()%><br> 
</body></html> 
JSP – Diretivas - Include 
• Indicada para inclusão de partes comuns a 
várias páginas como cabeçalhos ou rodapés. 
 
 
 
<html> 
 <title>Curso de JSP</title> 
 <body> 
 <%@ include file="cabecalho.html" %> 
 . 
 . 
 . 
 
<%@ include file=“url" %> 
JSP – Diretivas - Include - Exemplo 
<html><head><title>JSP</title> 
</head><body> 
<%@ include file="cabecalho.jsp" %> 
<h1>Continuação</h1> 
</body></html> 
<h1>Cabeçalhoda 
página</h1> 
cabecalho.jsp 
index.jsp 
Arquitetura de aplicações 
Exercícios 
1. Implemente um JSP utilizando Scriptlets que 
imprime 20 “Tenha um Bom Dia” sendo que 
para os item pares seja com a cor Azul e para 
os impares de vermelho. 
2. Crie uma aplicação com carrinho de compras 
utilizando páginas JSP e Servlets. Teremos 
duas páginas jsp: index.jsp e carrinho.jsp. 
▫ index.jsp envia a requisição para um Servlet. 
▫ O servlet faz o redirecionamento para 
carrinho.jsp, exibindo todos os produtos do 
carrinho.

Outros materiais