PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel...
Transcript of PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel...
![Page 1: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/1.jpg)
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB
Prof. Dr. Daniel Caetano
2013 - 2
INTRODUÇÃO À TECNOLOGIA SERVLETS
![Page 2: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/2.jpg)
Objetivos
• Apresentar o conceito aplicações orientada a serviços via web
• Apresentar o papel dos contentores Java
• Capacitar para a construção de Aplicações Web simples
![Page 3: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/3.jpg)
Material de Estudo
Material Acesso ao Material
Notas 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: Como Programar
(6ª Edição) Páginas 928 a 948
![Page 4: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/4.jpg)
ARQUITETURA WEB E SERVIÇOS
![Page 5: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/5.jpg)
Arquitetura Web e Serviços • Na primeira aula, vimos esse sistema:
Cliente
Servidor
REQUEST
RESPONSE
![Page 6: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/6.jpg)
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: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/7.jpg)
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: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/8.jpg)
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 em serviços, que iremos desenvolver!
![Page 9: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/9.jpg)
Arquitetura Web e Serviços
• Faz sentido um servidor dedicado a um único serviç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 de banco de dados dedicados
• Se a demanda de um serviço não é grande, em geral não faz sentido ter infra exclusiva...
![Page 10: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/10.jpg)
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: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/11.jpg)
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: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/12.jpg)
O CONTENTOR JAVA E O CICLO DE VIDA
![Page 13: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/13.jpg)
O Contentor Java
• O contentor Java também é conhecido como servidor de aplicações Java
• Gerencia a execução de serviços web Java
• Disponibilizar infraestrutura necessária para estes serviços
• Permite a comunicação com outros componentes Java e aplicações
![Page 14: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/14.jpg)
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 as conexões (dentre outras coisas)
![Page 15: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/15.jpg)
O Contentor Java
• Resumidamente...
![Page 16: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/16.jpg)
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 é mais necessário
![Page 17: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/17.jpg)
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: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/18.jpg)
SERVLETS NO NETBEANS
![Page 19: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/19.jpg)
Criando um Servlet • Iniciaremos criando um projeto
![Page 20: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/20.jpg)
Criando um Servlet • Escolha o tipo: Java Web e Aplicação Web
![Page 21: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/21.jpg)
Criando um Servlet • Escolha o tipo: Java Web e Aplicação Web
Java
ATENÇÃO
Caso apareça uma janela solicitando autorização para acesso, responda “Permitir”
![Page 22: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/22.jpg)
Criando um Servlet • Dê um nome ao seu projeto: ex.: WProjeto1
![Page 23: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/23.jpg)
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ços c) Não usar acentos ou caracteres especiais d) Ex.: WProjeto1 e) SUGESTÃO: Inicie projetos Web com a letra W
![Page 24: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/24.jpg)
Criando um Servlet • Dê um nome ao seu projeto: ex.: WProjeto1
![Page 25: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/25.jpg)
Criando um Servlet • Selecione o contentor: GlassFish Server
![Page 26: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/26.jpg)
Criando um Servlet • Este é o endereço da aplicação: /WProjeto1
![Page 27: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/27.jpg)
Criando um Servlet • Clique em Finalizar
ATENÇÃO
Caso apareça uma janela solicitando autorização para acesso, responda “Permitir”
![Page 28: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/28.jpg)
Criando um Servlet • Esta tela vai aparecer... Há campos novos!
![Page 29: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/29.jpg)
Criando um Servlet • Execute o projeto e veja o que ocorre!
EXECUTE O PROJETO
ATENÇÃO
Caso apareça uma janela solicitando autorização para acesso, responda “Permitir”
![Page 30: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/30.jpg)
Criando um Servlet • Por padrão, o index.jsp é executado
![Page 31: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/31.jpg)
Criando um Servlet • Vamos construir um formulário...
![Page 32: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/32.jpg)
Criando um Servlet • Vamos construir um formulário...
![Page 33: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/33.jpg)
Criando um Servlet • Vamos construir um formulário...
Isso irá gerar uma request para um aplicativo web chamado Imc.
Precisamos criá-lo!
![Page 34: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/34.jpg)
Criando um Servlet • Clique com o botão direito em “Pacotes de
Código Fonte”
![Page 35: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/35.jpg)
Criando um Servlet • E selecione Novo > Pacote Java...
![Page 36: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/36.jpg)
Criando um Servlet • Agora dê um nome ao pacote: imc
![Page 37: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/37.jpg)
Criando um Servlet • Agora dê um nome ao pacote: imc
Nomes de PACOTES devem
a) Começar com letra minúscula b) Não ter espaços c) Não usar acentos ou caracteres especiais d) Ex.: imc
![Page 38: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/38.jpg)
Criando um Servlet • E clique em Finalizar
![Page 39: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/39.jpg)
Criando um Servlet • Agora clique com o botão direito no pacote
imc e selecione Novo > Servlet...
![Page 40: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/40.jpg)
Criando um Servlet • Agora dê um nome ao servlet: Imc
![Page 41: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/41.jpg)
Criando um Servlet • Agora dê um nome ao servlet: Imc
Um SERVLET é uma CLASSE, então...
a) Começar com letra maiúscula b) Não ter espaços c) Não usar acentos ou caracteres especiais d) Ex.: Imc
![Page 42: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/42.jpg)
Criando um Servlet • Agora dê um nome ao servlet: Imc
Este nome deve ser o MESMO usado no campo
action do FORM!
![Page 43: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/43.jpg)
Criando um Servlet • E clique em Próximo
![Page 44: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/44.jpg)
Criando um Servlet • MARQUE a opção Adiciona informação ao descritor
![Page 45: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/45.jpg)
Criando um Servlet • MARQUE a opção Adiciona informação ao descritor
Nomes para acesso ao Servlet
![Page 46: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/46.jpg)
Criando um Servlet • E clique em Finalizar
![Page 47: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/47.jpg)
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: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/48.jpg)
CONFIGURANDO O SERVLET
![Page 49: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/49.jpg)
Configurações do Servlet
• O arquivo de configuração é chamado web.xml...
• Algumas vezes existem vários deles
• O que nos interessa está na pasta web-inf
• Clique duas vezes neste arquivo...
![Page 50: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/50.jpg)
Configurações do Servlet • A aba Geral serve para indicar a descrição do
SISTEMA, além de indicar o timeout (veremos isso depois)
![Page 51: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/51.jpg)
Configurações do Servlet • A aba Servlets configura itens importantes
![Page 52: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/52.jpg)
Configurações do Servlet • A ordem de inicialização
![Page 53: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/53.jpg)
Configurações do Servlet • O nome do Servlet
![Page 54: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/54.jpg)
Configurações do Servlet • A classe do Servlet (pode ser trocada!)
![Page 55: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/55.jpg)
Configurações do Servlet • E o nome de acesso do Servlet
![Page 56: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/56.jpg)
Configurações do Servlet • Essas e outras configurações podem ser feitas
diretamente pela aba XML...
• Mas pelo NetBeans é mais conveniente!
![Page 57: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/57.jpg)
PAUSA PARA O CAFÉ
![Page 58: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/58.jpg)
VOLTANDO A EDITAR O SERVLET
![Page 59: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/59.jpg)
Criando um Servlet • O outro arquivo importante é o arquivo do Servlet,
neste caso o Imc.java.
![Page 60: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/60.jpg)
Limpando a área • Vamos apagar os comentários do NetBeans
![Page 61: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/61.jpg)
Limpando a área • Vamos esconder código “desnecessário”
![Page 62: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/62.jpg)
Entendendo o Servlet • Observe que o Servlet extends HttpServlet
![Page 63: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/63.jpg)
Entendendo o Servlet • Vamos entender a estrutura
Este é o trecho que mais nos interessa!
![Page 64: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/64.jpg)
Entendendo o Servlet • Vamos entender a estrutura
Não mexa aqui!
![Page 65: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/65.jpg)
Entendendo o Servlet • Vamos entender o funcionamento
Quando uma request chega ao contentor, ela é repassada para esse
método, juntamente com uma reponse, onde armazenaremos a saída
![Page 66: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/66.jpg)
Entendendo o Servlet • Vamos entender o funcionamento
A primeira coisa feita é a configuração do objeto out, que usaremos para imprimir a saída
![Page 67: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/67.jpg)
Programando o Servlet • Aqui é onde escreveremos o nosso código
• Temos de imprimir um HTML!
![Page 68: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/68.jpg)
Programando o Servlet • Acompanhe o professor!
![Page 69: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/69.jpg)
Programando o Servlet • Acompanhe o professor!
Execute e veja o que ocorre!
![Page 70: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/70.jpg)
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: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/71.jpg)
Programando o Servlet • Execute e veja o que acontece!
![Page 72: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/72.jpg)
Programando o Servlet • Execute e veja o que acontece!
![Page 73: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/73.jpg)
Programando o Servlet • Execute e veja o que acontece!
OPA! Não pulou linha! a) Estamos imprimindo HTML b) Onde está o <p> e o </p> ???
![Page 74: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/74.jpg)
Programando o Servlet • Execute e veja o que acontece!
![Page 75: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/75.jpg)
Programando o Servlet • Execute e veja o que acontece!
![Page 76: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/76.jpg)
Programando o Servlet
• Antes de fazer os cálculos, porém...
• Temos que converter estas Strings para números reais, do tipo double
• Existe um método pronto para isso, na classe Double... Ele se chama valueOf
• NOTA: Use PONTO para indicar peso e altura
– Certo: 1.70
– Errado: 1,70
![Page 77: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/77.jpg)
Programando o Servlet • Execute e veja o que acontece!
![Page 78: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/78.jpg)
Programando o Servlet • Execute e veja o que acontece!
![Page 79: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/79.jpg)
Programando o Servlet • Podemos melhorar um pouco mais...
![Page 80: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/80.jpg)
Programando o Servlet • Podemos melhorar um pouco mais...
![Page 81: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/81.jpg)
Programando o Servlet • O programa tem problemas com “,” nos
números? Experimente!
• Corrija substituindo:
• Por isso:
![Page 82: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/82.jpg)
Programando o Servlet • Para imprimir mensagens de acordo com o
resultado, experimente acrescentar o código abaixo!
![Page 83: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/83.jpg)
Programando o Servlet • O servlet ainda “capota” quando um “texto” é
digitado nos campos numéricos! Experimente!
• Corrija isso acrescentando o “catch” abaixo!
![Page 84: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/84.jpg)
ATIVIDADE ESTRUTURADA
![Page 85: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/85.jpg)
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: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/86.jpg)
ATIVIDADE
![Page 87: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/87.jpg)
Programando o Servlet • Modifique o Servlet Criado:
– Para imprimir mensagens diferentes para cada ní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: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/88.jpg)
CONCLUSÕES
![Page 89: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/89.jpg)
Resumo • As aplicações Web funcionam como pequenos
programas que rodam no servidor
• Estes programas, em Java, são feitos com a tecnologia 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: PROGRAMAÇÃO ERVIDOR EM SISTEMAS WEB programaÇÃo servidor em sistemas web prof. dr. daniel caetano 2013 - 2 introduÇÃo À tecnologia servlets](https://reader034.fdocuments.net/reader034/viewer/2022050715/5f29a94336bcc151cc0e2d51/html5/thumbnails/90.jpg)
PERGUNTAS?