Vous êtes sur la page 1sur 20

Prof.

Marco Rosner

No incio da Web...
Os primeiros sites na web era feitos em HTML estticos.

Com a identificao do potencial da web, houve a necessidade de transmitir informaes dinmicas...

Pginas dinmicas
Um das primeiras ideias para geradores dinmicos de pginas HTML foi o servidor Web invocar um outro programa externo (CGI) que a cada requisio, gera o HTML de resposta.
Utilizado com Perl, PHP*, ASP, C ou C++
*mdulo do servidor Web

A primeira e principal tecnologia de gerao de pginas dinmicas, na plataforma Java, so as Servlets!

Servlets
Surgiu em 1997
Hoje encontrado nas verses 2.x:
2.4 (Java EE 1.4) 2.5 (Java EE 5) 3.0 (Java EE 6) lanada em Dezembro/2009

Serv + Lets = Servidor Pequeno

Servlets
Cada servlet um objeto Java que recebe requisies e gera/responde uma pgina HTML dinmica.
So utilizados para:
Processamento de dados enviados por formulrios HTML Acesso a contedo dinmico, por exemplo, de banco de dados

Servlets
So a base para a programao web em Java:

Servlets
Funcionamento:

Servlets versus CGI


Padawan: Mestre Yoda, porque utilizar servlets e no CGI?

Mestre Yoda: Boa pergunta!

Servlets versus CGI


Servlets so mais robustos que scripts CGI
O processamento do Servlets feito no servidor e no no browser como no CGI Servlets so carregados na memria apenas uma vez, CGI so carregados toda vez que se faz uma requisio. Servlets podem executar pedidos concorrentemente , CGI no

Lets hand dirt!

Criando um servlet
Devemos criar uma classe Java que estenda HttpServlet e sobrescrever o mtodo chamado service.
Responsvel por atender requisies e gerar respostas

O objetivo da nossa servlet exibir uma mensagem HTML simples.

Criando um servlet

Mapeando um servlet
Qual o endereo podemos acessar para fazermos com que ela execute?
O container no tem como saber essas informaes, a no ser que informemos a ele! Para isso, precisamos fazer um mapeamento de uma URL especfica atravs do arquivo web.xml

Mapeando um servlet
So necessrios dois passos:
Definir o nome e classe do servlet Usando o nome da servlet, definir a URL

Mapeando um servlet

Mapeando um servlet
A tag <url-pattern> d a flexibilidade de disponibilizar um servlet atravs de vrias URLs:

Pode-se configurar extenses para ativar as servlets:

Erros comuns
Esquecer da barra inicial no URL pattern:

Digitar o nome errado do pacote da sua servlet:

Enviando parmetros
Em um sistema, frequentemente, necessrio enviar dados para o servidor e processa-los.
Para isso, deve-se passar os parmetros e receber eles atravs do cdigo:

Enviando parmetros
E os parmetros forem passados via mtodo get ou post do HTTP?
O mtodo service tambm oferece suporte com os mtodos doGet e doPost que devem ser sobrescritos.

Exerccio
Faa uma calculadora utilizando servlets.