21
- 31 INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO IFMA - 21 Prof. Mauro Lopes Desenvolvimento de Sistemas Web 1 Introdução a Servlets Desenvolvimento de Sistemas WEB Prof. Mauro Lopes

Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

Embed Size (px)

Citation preview

Page 1: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

- 31

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

- 21

Prof. Mauro Lopes

Desenvolvimento de Sistemas Web

1

Introdução a Servlets

Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes

Page 2: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

21

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Objetivos

• Iniciaremos aqui o estudo sobre o desenvolvimento de

sistemas web usando o Java. Apresentaremos nesta aula

os conceitos básicos sobre a criação das páginas

dinâmicas e introduziremos a solução servlet que é a

solução inicial do Java para o seu modelo de criação de

páginas dinâmicas. Trataremos nesta aula também da

Arquitetura básica do servlet e de suas vantagens. Ao

final o aluno terá absorvido os conceitos básicos da

tecnologia servlet. Bom estudo a todos!

2 Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes

Page 3: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

21

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Plano de Aula

• Páginas Dinâmicas

• Servlets

• Servlet Container

• Vantagens do Servlet

• Meu primeiro Servlet

3 Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes

Page 4: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

21

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Páginas Dinâmicas

• Quando a Web surgiu, seu objetivo era a troca de

conteúdos através, principalmente, de páginas

HTML estáticas;

• Eram arquivos escritos no formato HTML e

disponibilizados em servidores para serem

acessados através dos navegadores;

• Mas logo se viu que a Web tinha um enorme

potencial de comunicação e interação além da

exibição de simples conteúdos;

• Para atingir esse novo objetivo, porém, páginas

estáticas não seriam suficientes.

4 Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes

Page 5: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

21

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Páginas Dinâmicas

5 Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes

Figura 1: Processamento de páginas da Web estáticas

Page 6: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

21

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Páginas Dinâmicas

• Era preciso servir páginas HTML geradas

dinamicamente baseadas nas requisições dos usuários;

• Uma das primeiras ideias para esses “geradores

dinâmicos” de páginas HTML foi fazer o servidor Web

invocar um outro programa externo em cada requisição

para gerar o HTML de resposta;

• Era o famoso CGI (Common Gateway Interface) que

permitia escrever pequenos programas para apresentar

páginas dinâmicas usando, por exemplo, Perl, PHP, ASP

e até C ou C++;

• Na plataforma Java, a primeira e principal tecnologia

capaz de gerar páginas dinâmicas são as Servlets, que

surgiram no ano de 1997. 6 Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes

Page 7: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

21

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Páginas Dinâmicas

• Funcionamento do CGI

• Um cliente solicitando “algo” ao servidor e o servidor

chamando um “programa” para resolver a solicitação do

cliente. 7 Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes

Figura 2: Funcionamento do CGI (Solicitação/Resposta)

Page 8: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

21

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Páginas Dinâmicas

• Funcionamento do CGI

• Se a linguagem C serve para programação Web, por que

não ouvimos falar de páginas web feitas nessa linguagem?

8 Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes

Arquivo testecgi.c

Figura 3: CGI escrito em Linguagem C

Page 9: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

21

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Páginas Dinâmicas

9 Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes

Figura 4: Processamento de páginas da Web dinâmicas

Page 10: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

21

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Páginas Dinâmicas

10 Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes

Figura 5: Processamento de páginas da Web dinâmicas com acesso a Banco de Dados

Page 11: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

21

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Servlets

• As Servlets são a primeira forma que veremos de

criar páginas dinâmicas com Java;

• Usaremos a própria linguagem Java para isso,

criando uma classe que terá capacidade de gerar

conteúdo HTML;

• Como no Java tentamos sempre que possível

trabalhar orientado a objetos, nada mais natural

que uma servlet seja representada como um

objeto a partir de uma classe Java.

11 Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes

Page 12: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

21

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Servlets

12 Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes

• Cada servlet é, portanto, um objeto Java que

recebe tais requisições (request) e responde algo

(response),como uma página HTML dinamicamente

gerada.

Um Servlet é uma classe Java que pode ser carregada e executada dinamicamente por um servidor especial, chamado de Servlet Container ou Servidor de Aplicação Java.

Figura 6: Servlet e o Servlet Container

Page 13: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

21

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Servlet Container

• Um Servlet Container é um servidor que suporta as

tecnologias de desenvolvimento web do Java (Servlets,

JSP, JSTL e JSF) mas não necessariamente o Java EE

(Enterprise Edition) completo;

• Os Servlets Contaneirs mais populares da atualidade:

• Apache Tomcat;

• GlassFish;

13 Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes

Apache Tomcat GlassFish

Page 14: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

21

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Servlet Container

• Apache Tomcat

– Originalmente desenvolvido pela Sun Microsystems;

– Administrado pela Apache Foundation;

– Considerado o servidor de aplicações Java oficial;

– Servidor Web que pode ser usado para trabalhar com Servlets e arquivos estáticos (HTML, imagens, etc.);

14 Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes

Page 15: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

21

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Servlet Container

• GlassFish

– Desenvolvido pela Sun Microsystems;

– Versão open source do servidor Sun Java System Application Server;

– É um dos poucos servidores que possui total suporte às novas especificações Web Java;

– Possui características como alta disponibilidade, escalabilidade e tolerância a falhas, que são essenciais para um servidor de produção que hospede aplicações de médio e grande porte.

– Pode ser usado para trabalhar com Servlets e arquivos estáticos (HTML, imagens, etc.);

15 Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes

Page 16: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

21

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Servlets e o Servlet Container

16 Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes

Um Servlet é uma classe Java que pode ser carregada e executada de forma dinâmica por um servidor especial, chamado de Servlet Container ou Servidor de Aplicação Java.

Figura 7: Servlet e o Servlet Container (Programação)

Atualmente muitas destas configurações estão definidas em java annotations.

Page 17: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

21

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Vantagens do Servlet

• Portabilidade: Aplicações desenvolvidas podem ser

implantadas em diversas plataformas;

• Facilidade de programação: Segue o paradigma de

programação orientada a objetos; Implementação similar

a uma aplicação Java comum;

• Flexibilidade: Utiliza a linguagem Java, bastante

difundida, com várias bibliotecas, códigos prontos e com

documentação e comunidades de desenvolvimento

abundantes;

• Escalabilidade: Possibilidade de distribuir a carga de

processamento de aplicações em diversos servidores;

• Eficiência: Servlets carregados por um servidor persistem

em sua memória até que sejam finalizados;

17 Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes

Page 18: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

21

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Meu Primeiro Servlet

18 Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes

Vamos Praticar !!!

Vamos fazer como nosso

amigo ao lado e praticar.

Vamos entender o

funcionamento de um

Servlet criando um!!!

Page 19: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

21

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Perguntas

19

Página do Professor Mauro: http://www.dai.ifma.edu.br/~mlcsilva

Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes

Page 20: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

21

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Próxima Aula...

• Ciclo de Vida do Servlet e HTTP Servlets

20 Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes

Page 21: Introdução a Servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/Aula 3.pdf · Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas. Desenvolvimento

21

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO MARANHÃO – IFMA

-

Referências

• Materiais avulsos da Internet e o Livro Use a Cabeça! Servlets e JSP, Bryan Basham, Kathy Sierra e Bert Bates - Editora Alta Books, 879 páginas.

21 Desenvolvimento de Sistemas WEB – Prof. Mauro Lopes