psw_aula02
TRANSCRIPT
![Page 1: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/1.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 1/90
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB
Prof. Dr. Daniel Caetano
2013 - 2
INTRODUÇÃO À
TECNOLOGIA SERVLETS
![Page 2: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/2.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 2/90
Objetivos
• Apresentar o conceito aplicaçõesorientada a serviços via web
• Apresentar o papel dos
contentores Java
• Capacitar para a construção deAplicações Web simples
![Page 3: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/3.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 3/90
Material de Estudo
Material Acesso ao MaterialNotas de Aula http://www.caetano.eng.br/
(Prog. Servidor Web - Aula 2)
Apresentação http://www.caetano.eng.br/ (Prog. Servidor Web - Aula 2)
Material Didático -
Java: ComoProgramar
(6ª Edição) Páginas 928 a 948
![Page 4: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/4.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 4/90
ARQUITETURA WEB E SERVIÇOS
![Page 5: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/5.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 5/90
Arquitetura Web e Serviços•
Na primeira aula, vimos esse sistema:
Cliente
Servidor
REQUEST
RESPONSE
![Page 6: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/6.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 6/90
Arquitetura Web e Serviços
• Quem é responsável por gerar a request?
• O computador cliente
– Navegador
– Outro programa qualquer
• Quem é responsável por gerar a response?
• O computador servidor
– Programa servidor
• O servidor presta um serviço ao cliente
![Page 7: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/7.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 7/90
Arquitetura Web e Serviços
• O cliente: navegador
• Requisições são geradas quando – Digitamos uma nova URL / Clicamos em um link
– Enviamos um formulário
– Enviamos uma consulta AJAX
![Page 8: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/8.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 8/90
Arquitetura Web e Serviços
• O servidor: aplicativo em computador 24/7• Este aplicativo é composto de serviços
• Serviço recebe requests e devolve responses
– Apenas quando uma requisição chega ele atua
• É este tipo de aplicativo, baseado emserviços, que iremos desenvolver!
![Page 9: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/9.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 9/90
Arquitetura Web e Serviços
• Faz sentido um servidor dedicado a um únicoserviço simples?
• A resposta é: depende!
•
Depende de quê? – Da demanda sobre estes serviços
– Do processamento exigido pelos serviços
– Dos requisitos de segurança e qualidade (SLA)
• É comum ter servidores web e servidores debanco de dados dedicados
• Se a demanda de um serviço não é grande, em
geral não faz sentido ter infra exclusiva...
![Page 10: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/10.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 10/90
Arquitetura Web e Serviços
• Vários serviços web na mesma máquina – Comum
• No caso do Java, estes pequenos serviços
são chamados de servlets
• Agora... que tal centralizar funções comuns?
– Ex.: Gerenciamento de Conexões
• Esse é o papel do contentor Java
![Page 11: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/11.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 11/90
Arquitetura Web e Serviços
• Existem vários contentores Java – GlassFish
– TomCat
– TomCat + JBoss – Dentre outros...
• Neste curso, usaremos o GlassFish – É o mais completo
– É o padrão sugerido pela Oracle
![Page 12: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/12.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 12/90
O CONTENTOR JAVA E O CICLO DE VIDA
![Page 13: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/13.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 13/90
O Contentor Java
• O contentor Java também é conhecido comoservidor de aplicações Java
• Gerencia a execução de serviços web Java
• Disponibilizar infraestrutura necessária paraestes serviços
• Permite a comunicação com outroscomponentes Java e aplicações
![Page 14: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/14.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 14/90
O Contentor Java
• Servidor de Aplicações - Funcionamento básico:1. Aguarda pelas requests
2. Repassa a request para o servlet correto
3. Recebe a response do servlet 4. Devolve a response p/ cliente que enviou a request
• Ou seja, ele é responsável por gerenciar asconexões (dentre outras coisas)
![Page 15: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/15.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 15/90
O Contentor Java
• Resumidamente...
![Page 16: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/16.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 16/90
O Contentor Java
• O servidor de aplicativos não faz só isso... – Dentre outras coisas...
– Ele também cuida do ciclo de vida do servlet
1. Quando necessário, inicia o Servlet
2. Coloca este Servlet no estado “ativo”
3. Finaliza o Servlet quando não é maisnecessário
![Page 17: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/17.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 17/90
Ciclo de Vida do Servlet
• Resumidamente...
init()
• Quando
necessário
service()• Aguardando
conexões
destroy() • Quando não émais necessário
Invocação
![Page 18: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/18.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 18/90
SERVLETS NO NETBEANS
![Page 19: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/19.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 19/90
Criando um Servlet•
Iniciaremos criando um projeto
![Page 20: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/20.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 20/90
Criando um Servlet•
Escolha o tipo: Java Web e Aplicação Web
![Page 21: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/21.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 21/90
Criando um Servlet•
Escolha o tipo: Java Web e Aplicação WebJava
ATENÇÃO
Caso apareça uma janelasolicitando autorização paraacesso, responda “Permitir”
![Page 22: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/22.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 22/90
Criando um Servlet•
Dê um nome ao seu projeto: ex.: WProjeto1
![Page 23: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/23.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 23/90
Criando um Servlet•
Dê um nome ao seu projeto: ex.: WProjeto1
Nomes de projeto devem
a) Começar com letra maiúscula
b) Não ter espaçosc) Não usar acentos ou caracteres especiaisd) Ex.: WProjeto1e) SUGESTÃO: Inicie projetos Web com a letra W
![Page 24: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/24.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 24/90
Criando um Servlet•
Dê um nome ao seu projeto: ex.: WProjeto1
![Page 25: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/25.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 25/90
Criando um Servlet•
Selecione o contentor: GlassFish Server
![Page 26: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/26.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 26/90
Criando um Servlet•
Este é o endereço da aplicação: /WProjeto1
![Page 27: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/27.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 27/90
Criando um Servlet•
Clique em Finalizar
ATENÇÃO
Caso apareça uma janelasolicitando autorização paraacesso, responda “Permitir”
![Page 28: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/28.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 28/90
Criando um Servlet•
Esta tela vai aparecer... Há campos novos!
![Page 29: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/29.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 29/90
Criando um Servlet•
Execute o projeto e veja o que ocorre!
EXECUTE O PROJETO
ATENÇÃOCaso apareça uma janela
solicitando autorização para
acesso, responda “Permitir”
![Page 30: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/30.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 30/90
Criando um Servlet•
Por padrão, o index.jsp é executado
![Page 31: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/31.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 31/90
Criando um Servlet•
Vamos construir um formulário...
![Page 32: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/32.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 32/90
Criando um Servlet•
Vamos construir um formulário...
![Page 33: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/33.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 33/90
Criando um Servlet•
Vamos construir um formulário...Isso irá gerar uma request paraum aplicativo web chamado Imc.
Precisamos criá-lo!
![Page 34: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/34.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 34/90
Criando um Servlet•
Clique com o botão direito em “Pacotes deCódigo Fonte”
![Page 35: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/35.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 35/90
Criando um Servlet•
E selecione Novo > Pacote Java...
![Page 36: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/36.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 36/90
Criando um Servlet•
Agora dê um nome ao pacote: imc
![Page 37: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/37.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 37/90
Criando um Servlet•
Agora dê um nome ao pacote: imc
Nomes de PACOTES devem
a) Começar com letra minúsculab) Não ter espaçosc) Não usar acentos ou caracteres especiaisd) Ex.: imc
![Page 38: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/38.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 38/90
Criando um Servlet•
E clique em Finalizar
![Page 39: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/39.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 39/90
Criando um Servlet•
Agora clique com o botão direito no pacoteimc e selecione Novo > Servlet...
![Page 40: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/40.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 40/90
Criando um Servlet•
Agora dê um nome ao servlet: Imc
![Page 41: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/41.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 41/90
Criando um Servlet•
Agora dê um nome ao servlet: Imc
Um SERVLET é uma CLASSE, então...
a) Começar com letra maiúsculab) Não ter espaçosc) Não usar acentos ou caracteres especiaisd) Ex.: Imc
![Page 42: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/42.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 42/90
Criando um Servlet•
Agora dê um nome ao servlet: Imc
Este nome deve ser o
MESMO usado no campoaction do FORM!
![Page 43: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/43.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 43/90
Criando um Servlet•
E clique em Próximo
![Page 44: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/44.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 44/90
Criando um Servlet• MARQUE a opção Adiciona informação ao descritor
![Page 45: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/45.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 45/90
Criando um Servlet• MARQUE a opção Adiciona informação ao descritor
Nomes paraacesso ao Servlet
![Page 46: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/46.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 46/90
Criando um Servlet• E clique em Finalizar
![Page 47: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/47.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 47/90
Criando um Servlet• Isso vai criar uma série de arquivos e abrir o servlet
na área de edição... O primeiro é o de configuração:
![Page 48: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/48.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 48/90
CONFIGURANDO O SERVLET
![Page 49: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/49.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 49/90
Configurações do Servlet
• O arquivo de configuração é chamadoweb.xml...
• Algumas vezes existem vários deles
• O que nos interessa está na pasta web-inf • Clique duas vezes neste arquivo...
![Page 50: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/50.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 50/90
Configurações do Servlet•
A aba Geral serve para indicar a descrição doSISTEMA, além de indicar o timeout (veremosisso depois)
![Page 51: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/51.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 51/90
Configurações do Servlet•
A aba Servlets configura itens importantes
![Page 52: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/52.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 52/90
Configurações do Servlet•
A ordem de inicialização
![Page 53: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/53.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 53/90
Configurações do Servlet•
O nome do Servlet
![Page 54: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/54.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 54/90
Configurações do Servlet•
A classe do Servlet (pode ser trocada!)
![Page 55: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/55.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 55/90
Configurações do Servlet•
E o nome de acesso do Servlet
![Page 56: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/56.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 56/90
Configurações do Servlet•
Essas e outras configurações podem ser feitasdiretamente pela aba XML...
• Mas pelo NetBeans é mais conveniente!
![Page 57: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/57.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 57/90
PAUSA PARA O CAFÉ
![Page 58: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/58.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 58/90
VOLTANDO A EDITAR O SERVLET
![Page 59: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/59.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 59/90
Criando um Servlet• O outro arquivo importante é o arquivo do Servlet,
neste caso o Imc.java.
![Page 60: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/60.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 60/90
Limpando a área• Vamos apagar os comentários do NetBeans
![Page 61: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/61.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 61/90
Limpando a área• Vamos esconder código “desnecessário”
![Page 62: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/62.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 62/90
Entendendo o Servlet• Observe que o Servlet extends HttpServlet
![Page 63: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/63.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 63/90
Entendendo o Servlet• Vamos entender a estrutura
Este é o trecho que
mais nos interessa!
![Page 64: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/64.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 64/90
Entendendo o Servlet• Vamos entender a estrutura
Não mexa aqui!
![Page 65: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/65.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 65/90
Entendendo o Servlet• Vamos entender o funcionamento
Quando uma request chega aocontentor, ela é repassada para esse
método, juntamente com uma reponse,onde armazenaremos a saída
![Page 66: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/66.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 66/90
Entendendo o Servlet• Vamos entender o funcionamento
A primeira coisa feita é aconfiguração do objeto out, queusaremos para imprimir a saída
![Page 67: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/67.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 67/90
Programando o Servlet• Aqui é onde escreveremos o nosso código
• Temos de imprimir um HTML!
![Page 68: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/68.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 68/90
Programando o Servlet• Acompanhe o professor!
![Page 69: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/69.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 69/90
Programando o Servlet• Acompanhe o professor!
Execute e veja oque ocorre!
![Page 70: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/70.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 70/90
Programando o Servlet• Falta fazer o cálculo:
– IMC = PESO / (ALTURA * ALTURA)
• Mas antes...
– É preciso pegar os parâmetros na request...
• Pegar... Parâmetro... Da request...
– request.getParameter(“nome”)
• Os nomes são “peso” e “altura” (do form!)• NOTA: as informações da request estão
sempre no formato String!
![Page 71: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/71.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 71/90
Programando o Servlet• Execute e veja o que acontece!
![Page 72: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/72.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 72/90
Programando o Servlet• Execute e veja o que acontece!
![Page 73: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/73.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 73/90
Programando o Servlet• Execute e veja o que acontece!
OPA! Não pulou linha!a) Estamos imprimindo HTMLb) Onde está o <p> e o </p> ???
![Page 74: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/74.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 74/90
Programando o Servlet• Execute e veja o que acontece!
![Page 75: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/75.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 75/90
Programando o Servlet• Execute e veja o que acontece!
![Page 76: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/76.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 76/90
Programando o Servlet
•
Antes de fazer os cálculos, porém...
• Temos que converter estas Strings paranúmeros reais, do tipo double
• Existe um método pronto para isso, na classeDouble... Ele se chama valueOf
• NOTA: Use PONTO para indicar peso e altura – Certo: 1.70
– Errado: 1,70
![Page 77: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/77.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 77/90
Programando o Servlet• Execute e veja o que acontece!
![Page 78: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/78.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 78/90
Programando o Servlet• Execute e veja o que acontece!
![Page 79: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/79.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 79/90
Programando o Servlet• Podemos melhorar um pouco mais...
![Page 80: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/80.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 80/90
Programando o Servlet• Podemos melhorar um pouco mais...
![Page 81: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/81.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 81/90
Programando o Servlet• O programa tem problemas com “,” nos
números? Experimente!
• Corrija substituindo:
• Por isso:
d l
![Page 82: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/82.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 82/90
Programando o Servlet• Para imprimir mensagens de acordo com o
resultado, experimente acrescentar o códigoabaixo!
d l
![Page 83: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/83.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 83/90
Programando o Servlet• O servlet ainda “capota” quando um “texto” é
digitado nos campos numéricos! Experimente!
• Corrija isso acrescentando o “catch” abaixo!
![Page 84: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/84.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 84/90
ATIVIDADE ESTRUTURADA
O i ã A i id d E d
![Page 85: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/85.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 85/90
Orientação Atividades Estruturadas
•
Esta disciplina tem Atividades Estruturadas • Elas serão disponibilizadas futuramente
• A primeira consiste em uma pesquisa
(leitura e redação)• A segunda consiste em compreender e
modificar um sistema funcional
• Aguardem maiores informações!
![Page 86: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/86.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 86/90
ATIVIDADE
P d S l
![Page 87: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/87.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 87/90
Programando o Servlet• Modifique o Servlet Criado:
– Para imprimir mensagens diferentes para cadanível de IMC:
• < 18.5 => Cuidado! Abaixo do peso!
• 18.5 <= imc < 25.0 => Parabéns! Peso ideal!• 25.0 <= imc < 30.0 => Atenção! Acima do peso!
• Imc >= 30.0 => Cuidado! Está obeso!
![Page 88: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/88.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 88/90
CONCLUSÕES
R
![Page 89: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/89.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 89/90
Resumo• As aplicações Web funcionam como pequenos
programas que rodam no servidor
• Estes programas, em Java, são feitos com atecnologia Servlets
• Servlet recebe request e devolve response
• TAREFA: Trabalho A
• Ainda não estou seguro com esses tais Servlets!
• Na próxima aula, exercitaremos mais...
• E veremos algumas novidades!
![Page 90: psw_aula02](https://reader031.vdocuments.net/reader031/viewer/2022021116/577c780c1a28abe0548e81f2/html5/thumbnails/90.jpg)
7/25/2019 psw_aula02
http://slidepdf.com/reader/full/pswaula02 90/90
PERGUNTAS?