Programação Web
Prof. Erick Rocha Vieira
JSP e Servlets
Sistema WEB
• Sistemas Web apresentam interatividade,
diferentemente das páginas Web estáticas
• O funcionamento básico é mostrado na
imagem abaixo:
JSP e Servlet no ambiente web
JSP - Definição
• A linguagem JSP (Java Server Pages) é utilizada para
construção de páginas dinâmicas
• Uma página dinâmica na verdade não existe da maneira que é
mostrada, ela é montada no momento da solicitação
• Então o que é um JSP?
HTML + JAVA = JSP
Exemplo JSP
Elementos de uma JSP
Categoria
Sintaxe
Descrição
Exemplo
Declaração
<%! ... %>
Declara variáveis e métodos de
nível de classe (membros do
servlet gerado).
<%! int contador = 0; %>
Scriptlet
<% ... %>
Insere código Java executável
dentro do método _jspService.
<% if (contador > 0) { %>
<%= ... %>
Avalia o código Java e converte o
resultado em String para exibição
(sem ponto e vírgula).
<%= usuario.getNome() %>
${ ... }
Sintaxe simplificada para acessar
propriedades de objetos e
coleções.
${usuario.nome}
<%-- ... --%>
Comentário executado apenas no
servidor (não é enviado ao
navegador).
<%-- Comentário interno --%>
Expressão
Expression Language (EL)
Comentário JSP
Ação
<jsp:...>
Comandos estruturados no padrão
XML/HTML usados para manipular
JavaBeans, redirecionar requisições
<jsp: forward
ou substituir scriptlets Java por
page=“login.jsp”/>
código mais limpo e legível.
Servlets
• São componentes server-side escritos em
Java e
independentes de plataforma e de protocolos
• Não possuem interface com o usuário pois são executados
dentro do servidor Web
• Podem responder requisições HTML ou construir páginas
HTML dinamicamente
• Lembrando que internamente, no servidor Web, todo JSP é
traduzido em um Servlet
Fluxo de processo do Servlet
1. O Cliente envia uma requisição para o servidor
2. O servidor envia as informações da requisição para o
Servlet
3. O Servlet monta dinamicamente uma resposta e passa
para o servidor
4. O servidor envia a resposta para o cliente
Vantagens dos Servlets:
– São escrito em Java
• Orientados a Objetos
• Fortemente tipados
• Modularizados
– Possuem portabilidade
– São independentes de plataforma
– O Servlet é carregado apenas uma vez no servidor Web, ou seja,
ele pode manter informações de sessão
Ambiente de desenvolvimento
• Baixar TomCat 10.1 ou 11
• Eclipse->window→ perspective→Open Perspective→other→Java EE
• Servers → instalar o Apache 10 ou 11
• Window→show view→other→International Web Browser
• File→new→Dynamic Web Project
Atividades
Atividade
• Ex 1 – Crie uma página em JSP que exiba a mensagem “Hello
world’;
• Ex 2 – Crie uma página em JSP que envia uma saudação ao
usuário a depender do horário.
-Bom dia → 5:00h até às 11:59h
-Bom tarde → 12:00h até às 17:59h
-Boa noite → 18:00h´ até às 4:59h
• Ex 3 – Acrescente ao exercício 2 um contador que indique
quantas pessoas acessaram aquela página.
Atividade
• Ex 4 - Crie uma página JSP que simule a geração de um número aleatório
(de 0 a 100) a cada atualização de tela. O programa deve:
• Exibir o número gerado.
• Usar uma estrutura de decisão (if/else) para informar na tela se esse número é Par
ou Ímpar.
• Manter um contador global que mostre quantos números Pares já foram gerados
desde que o servidor iniciou.
• Ex 5 - Crie uma página JSP que sorteie ou receba um número inteiro de 1
a 10 e gere a tabuada desse número.
• Declare uma variável inteira com o número desejado (ex: int numero = 7;).
• Utilize um laço for dentro do código JSP para calcular a multiplicação de 1 até 10.
• Exiba o resultado formatado dentro de uma lista HTML (<ul> e <li>), mostrando
cada linha da multiplicação (ex: 7 x 1 = 7, 7 x 2 = 14, etc.).
Exercício
• Desenvolver uma página web em JavaServer Pages (JSP) contendo um formulário de
cadastro/login que utilize o método HTTP POST para envio de dados, aplicando
componentes HTML adequados e regras de preenchimento.O formulário deve conter os
seguintes campos e tipos de entrada (inputs) correspondentes:
Nome Completo: Campo de texto (text input).
Obrigatório.
Data de Nascimento: Campo do tipo data (date
input). Obrigatório.
E-mail: Campo de e-mail (email input). Obrigatório.
Sexo: Seleção única via botões do tipo rádio (radio
button):
Masculino; Feminino - Obrigatório.
Estado Civil: Caixa de seleção suspensa
(select/option):
Solteiro(a); Casado(a); Divorciado(a); Viúvo(a) Obrigatório.
Escolaridade: Caixa de seleção suspensa (select/option):
Sem escolaridade; Ensino Fundamental; Ensino Médio;
Graduado; Especialista; Mestre; Doutor - Obrigatório.
Interesses: Caixas de seleção múltipla (checkboxes):
Esportes, Jogos, Filmes, Séries, Estudos, Outros.
Opcional (único campo que pode ficar sem
preenchimento/seleção).
Senha: Campo do tipo senha (password input).Obrigatório.
Deve conter no mínimo 8 caracteres, incluindo pelo menos
uma letra maiúscula e uma letra minúscula (utilize o atributo
pattern com Expressão Regular / Regex para validação no
HTML5).
Botão de Envio: Botão do tipo submit com o texto "Enviar".
Obrigado (a)!
erick.vieira@uniceplac.edu.br