introdução a servlets - dai.ifma.edu.brmlcsilva/aulasdsweb/aula 3.pdf · servlets e jsp, bryan...
TRANSCRIPT
- 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
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
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
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
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
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
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)
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
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
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
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
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
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
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
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
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.
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
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!!!
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
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
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