SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
Desenvolvimento de
Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Parte VIII
Prof. Pedro Clarindo da Silva Neto
Introdução ao JSP
A tecnologia JSP permite misturar código HTML
estático com conteúdo gerado dinamicamente
em Java. Os trechos de código Java são simples-
mente inseridos ao longo do HTML dentro de
tags especiais, que começam com <% e
terminam com %>. O código a seguir mostra,
por exemplo, uma página que utiliza o dado de
uma requisição para formar o HTML:
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Desenvolvimento de Aplicações Web
Introdução ao JSP
Prof. Pedro Clarindo da Silva Neto
Introdução ao JSP
Podemos pensar em servlets como código Java com
HTML por dentro, e em JSP como código HTML com
código Java por dentro. Apesar da grande diferença na
forma de escrever esses dois tipos de código, serlvets e
JSP são, no fundo, a mesma coisa. Os códigos escritos
em JSP são traduzidos em servlets. JSP é, portanto, ape-
nas uma forma de escrever servlets na qual o HTML é
escrito mais facilmente (afinal, nos servlets devemos
imprimir, em Java, cada linha gerada na página retornada
ao usuário, o que não é muito produtivo quando temos
páginas HTML complexas).
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Introdução ao JSP
JSP é mais útil que servlets quando desenvolvemos a
parte de apresentação do sistema ao usuário. Serlvets são
mais utilizados quando implementamos a lógica de
negócios do sistema, que possui mais cálculos e/ou
consultas ao banco do que HTML. No exemplo acima, o
código HTML será gerado no momento que o usuário
fizer uma requisição. O código enviado ao cliente não
exibirá o conteúdo entre as tags <% e %>. O que
acontecerá é que este conteúdo será substituído pelo
valor do campo “nome” enviado na requisição.
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Criação de uma padaria virtual
Neste capítulo, criaremos o site de uma padaria
virtual chamada “Web Pão”. O layout da página
inicial do site pode ser visto na Figura:
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Criação de uma padaria virtual
A página inicial mostra algumas opções de
produtos que podem ser comprados pelo cliente.
Os produtos pertencem às categorias “Pães”,
“Tortas”, “Bolos”, “Salgados”, “Bebidas” e “Outros
Produtos”. A página de cada produto é idêntica à
inicial, exceto pelo fato de que só aparecem
produtos desta categoria. As páginas do site são
criadas dinamicamente e utilizam um banco de
dados que contêm:
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Criação de uma padaria virtual
Tabela contendo os usuários cadastrados no sistema. Cada usuário possui
um nome, um email, uma senha, um endereço e um telefone. 

Tabela com as categorias de produtos. Cada categoria contém um código
(chave primária) e o nome da categoria. 

Tabela contendo os produtos cadastrados. Cada produto na tabela possui
um código (chave primária), um nome, uma descrição, um valor, uma
imagem e o código de sua categoria (referente à chave primária da tabela
de categorias).
Tabela com produtos em destaque, de categorias diversas, que são exibidos
na página inicial. Cada destaque possui apenas um código (chave primária)
e o código de um produto (referente à chave primária da tabela de
produtos).
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Criação de uma padaria virtual
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Criação de uma padaria virtual
O menu de nosso site depende das categorias
cadastradas no banco. Mesmo que categorias
sejam incluídas ou removidas, o menu deve
continuar funcionando. Para que isso ocorra,
ele deve ser dinâmico, baseado na tabela
com as categorias existente no banco. O
trecho de código abaixo mostra como este
menu pode ser feito em JSP:
Desenvolvimento de Aplicações Web
Criação de uma padaria virtual
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Prof. Pedro Clarindo da Silva Neto
Criação de uma padaria virtual
Como podemos ver no código acima, cada link
correspondente a uma categoria será da seguinte forma:
Desenvolvimento de Aplicações Web
<a href=”produtos.jsp?cod_cat=1”>Pães</a>
Prof. Pedro Clarindo da Silva Neto
Criação de uma padaria virtual
Neste caso, a página “produtos.jsp” está recebendo
como parâmetro a variável “cod_cat” com o valor “1”,
que corresponde ao código da categoria “Pães” na
tabela “categorias” de nosso banco. Note que o código
para conexão e consulta ao banco são análogos aos
que faríamos em um servlet. Entretanto, para importar
a biblioteca “java.sql.*” em JSP precisamos modificar
<%@page %> presente no início dos códigos JSP:
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Criação de uma padaria virtual
Normalmente, não inserimos consultas ao banco
dentro do JSP. Em geral, os servlets realizam a
lógicas mais complexas e o JSP apenas apresenta os
resultados.
E quando a conexão com o banco é realmente
necessária dentro de um código JSP, costumamos
utilizar classes que gerenciam as conexões e
consultas.
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Reaproveitamento de código
Desenvolvimento de Aplicações Web
A parte superior da padaria virtual que contém o logotipo, a
área de login e o menu aparecem em todas as subpáginas do
site. Para não termos que copiar e colar o código em cada
página, o JSP permite a criação de um trecho de código JSP que
pode ser importado em diversas páginas.
Estas subpáginas em JSP não precisam conter toda a estrutura de
um arquivo HTML. Basta que elas contenham o trecho exato de
código que deverá ser importado. Para importar um arquivo
deste tipo, definimos o atributo “file” da tag <%@include %>.
O arquivo “cabecalho.jsp”, por exemplo, poderia ser importado
da seguinte forma:
Prof. Pedro Clarindo da Silva Neto
Reaproveitamento de código
Desenvolvimento de Aplicações Web
Com isso, todo o conteúdo do arquivo será
inserido no local onde estiver sendo
importado, no momento em que a página for
requisitada. Outra vantagem de reaproveitar o
código é que, em caso de alteração em seu
conteúdo, apenas um arquivo (neste caso, o
“cabecalho.jsp”) precisa ser modificado.
Prof. Pedro Clarindo da Silva Neto
Catálogo de produtos dinâmicos
Desenvolvimento de Aplicações Web
Os produtos da padaria virtual são
exibidos na página em uma tabela, dois
a dois, como podemos ver na Figura.
Antes de tornar a página dinâmica,
precisamos criar seu layout padrão.
Cada item de tabela será semelhante ao
trecho de código a seguir:
Prof. Pedro Clarindo da Silva Neto
Catálogo de produtos dinâmicos
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Catálogo de produtos dinâmicos
Desenvolvimento de Aplicações Web
O código gera algo parecido. Lembrando que para a
imagem aparecer é preciso colocá-la no servidor. Neste caso
em uma pata chamada img.
Prof. Pedro Clarindo da Silva Neto
Catálogo de produtos dinâmicos
Desenvolvimento de Aplicações Web
O código acima mostra todos os dados de um produto que
precisam ser exibidos para o cliente (as informações que
podem ser extraídas do banco foram sublinhadas). São elas:
(1) localização da imagem do produto; (2) descrição do
produto; (3) nome do produto; (4) preço do produto; e (5)
código do produto.
Para que o conteúdo seja gerado dinamicamente, é preciso
que o trecho de código acima seja gerado para cada
produto existente no banco que precise ser exibido: na
página de “Pães”, todos os produtos pertencentes à
categoria “Pães”, etc.
Prof. Pedro Clarindo da Silva Neto
Catálogo de produtos dinâmicos
Desenvolvimento de Aplicações Web
PLUS
Prof. Pedro Clarindo da Silva Neto
Fábrica de conexões
Desenvolvimento de Aplicações Web
Em determinado momento de nossa aplicação,
gostaríamos de ter o controle sobre a construção dos
objetos da nossa classe. Muito pode ser feito através do
construtor, como saber quantos objetos foram
instanciados ou fazer o log sobre essas instanciações.
Às vezes, também queremos controlar um processo
muito repetitivo e trabalhoso, como abrir uma conexão
com o banco de dados. Tomemos como exemplo a
classe a seguir que seria responsável por abrir uma
conexão com o banco:
Prof. Pedro Clarindo da Silva Neto
Fábrica de conexões
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Fábrica de conexões
Desenvolvimento de Aplicações Web
A g o r a é s ó c h a m a r a n o s s a
ConnectionFactory().
Connection con = new ConnectionFactory().getConnection();
Prof. Pedro Clarindo da Silva Neto
Fábrica de conexões
Desenvolvimento de Aplicações Web
Antes
Prof. Pedro Clarindo da Silva Neto
Fábrica de conexões
Desenvolvimento de Aplicações Web
Depois
Programação para internet. / Hilário Seibel Júnior. – Vitória: Ifes, 2010.
CAELUM, Java e Orientação a Objetos, Apostila. [Internet: http://www.caelum.com.br/
downloads/apostila/caelum-java-objetos-fj11.pdf]. Acesso em 04/03/2009.
_____. Java Web, FJ-21.
DEITEL, Harvey M.; DEITEL, Paul J., Java: Como Programar, São Paulo: Prentice-Hall,
2005.
GOODMAN, Danny, JavaScript a Bíblia, Ed. Campus, 2001

HALL, Marty; BROWN, Larry, Core Servlets e JavaServer Pages vo1 e vol 2, Ed. Ciência
Moderna, 2005
HORSTMANN, Cay; CORNELL, Gary, Core Java 2, Fundamentos, São Paulo: Makron
Books, Volume 1, 2000.
KURNIAWAN, Budi, Java para a Web com Servlets, JSP e EJB, Ed. Ciência Moderna,
2002
MUSCIANO, Chuck; KENNEDY, Bill, HTML: The definitive guide, Ed. Orelly, 1997
OLSON, Steven Douglas, Ajax com Java, Ed. Alta Books, 2007
Referências
Prof. Pedro Clarindo da Silva Neto
Desenvolvimento de Aplicações Web

Mais conteúdo relacionado

Mais procurados

Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São GabrielMinicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São GabrielMarcelo Linhares
 
Javascript - Biblioteca Jquery
Javascript - Biblioteca JqueryJavascript - Biblioteca Jquery
Javascript - Biblioteca JqueryMultside Digital
 
Como Instalar O WordPress
Como Instalar O WordPressComo Instalar O WordPress
Como Instalar O WordPressmauricio souza
 
Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCMichael Costa
 
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphere
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphereCriando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphere
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphereJuliano Martins
 
Curso de Java (Parte 6) Introdução a Front-end
Curso de Java (Parte 6) Introdução a Front-endCurso de Java (Parte 6) Introdução a Front-end
Curso de Java (Parte 6) Introdução a Front-endMario Sergio
 

Mais procurados (7)

Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São GabrielMinicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
 
Javascript - Biblioteca Jquery
Javascript - Biblioteca JqueryJavascript - Biblioteca Jquery
Javascript - Biblioteca Jquery
 
Como Instalar O WordPress
Como Instalar O WordPressComo Instalar O WordPress
Como Instalar O WordPress
 
Treinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVCTreinamento Básico Sobre ASP.NET MVC
Treinamento Básico Sobre ASP.NET MVC
 
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphere
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphereCriando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphere
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphere
 
Curso de Java (Parte 6) Introdução a Front-end
Curso de Java (Parte 6) Introdução a Front-endCurso de Java (Parte 6) Introdução a Front-end
Curso de Java (Parte 6) Introdução a Front-end
 
Jsf
JsfJsf
Jsf
 

Semelhante a Catálogo Produtos Dinâmicos

Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010Rodrigo Kono
 
1502 - Revista - SQL Server.pdf
1502 - Revista - SQL Server.pdf1502 - Revista - SQL Server.pdf
1502 - Revista - SQL Server.pdfjoaoJunior93
 
Criando e Usando Helpers
Criando e Usando HelpersCriando e Usando Helpers
Criando e Usando HelpersJoaoVagner
 
JavaScript - #Aula01 - Introdução
JavaScript - #Aula01 - IntroduçãoJavaScript - #Aula01 - Introdução
JavaScript - #Aula01 - IntroduçãoErick L. F.
 
Apresentação blogs
Apresentação blogsApresentação blogs
Apresentação blogsluizaselis
 
1503 - Revista - Angular.pdf
1503 - Revista - Angular.pdf1503 - Revista - Angular.pdf
1503 - Revista - Angular.pdfjoaoJunior93
 
Cobrancas online na sua aplicacao com MoIP
Cobrancas online na sua aplicacao com MoIPCobrancas online na sua aplicacao com MoIP
Cobrancas online na sua aplicacao com MoIPHerberth Amaral
 
Introdução de web
Introdução de webIntrodução de web
Introdução de webSedu
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Alexandre Tarifa
 
COMO FAZER E-MAIL MARKETING EM HTML
COMO FAZER E-MAIL MARKETING EM HTMLCOMO FAZER E-MAIL MARKETING EM HTML
COMO FAZER E-MAIL MARKETING EM HTMLRenato Melo
 
Tele cine mozer
Tele cine mozerTele cine mozer
Tele cine mozerJBSO
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sitesthiagolima
 
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...Mayara Fernandes
 
JSP - Java Serves Pages
JSP - Java Serves PagesJSP - Java Serves Pages
JSP - Java Serves PagesAmanda Luz
 
Visão Geral De Desenvolvimento Web Sre 2012
Visão Geral De Desenvolvimento Web   Sre 2012Visão Geral De Desenvolvimento Web   Sre 2012
Visão Geral De Desenvolvimento Web Sre 2012Carlos Casalicchio
 
Guião demotécnica
Guião demotécnicaGuião demotécnica
Guião demotécnicaSilvio Dias
 

Semelhante a Catálogo Produtos Dinâmicos (20)

Apostila MVC
Apostila MVCApostila MVC
Apostila MVC
 
Programação web ASP.NET Tutorial
Programação web ASP.NET TutorialProgramação web ASP.NET Tutorial
Programação web ASP.NET Tutorial
 
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
Faça Sucesso Desenvolvendo com ASP.NET 4, ASP NET MVC e Visual Studio 2010
 
1502 - Revista - SQL Server.pdf
1502 - Revista - SQL Server.pdf1502 - Revista - SQL Server.pdf
1502 - Revista - SQL Server.pdf
 
Criando e Usando Helpers
Criando e Usando HelpersCriando e Usando Helpers
Criando e Usando Helpers
 
JavaScript - #Aula01 - Introdução
JavaScript - #Aula01 - IntroduçãoJavaScript - #Aula01 - Introdução
JavaScript - #Aula01 - Introdução
 
Apresentação blogs
Apresentação blogsApresentação blogs
Apresentação blogs
 
1503 - Revista - Angular.pdf
1503 - Revista - Angular.pdf1503 - Revista - Angular.pdf
1503 - Revista - Angular.pdf
 
gae
gaegae
gae
 
Cobrancas online na sua aplicacao com MoIP
Cobrancas online na sua aplicacao com MoIPCobrancas online na sua aplicacao com MoIP
Cobrancas online na sua aplicacao com MoIP
 
Introdução de web
Introdução de webIntrodução de web
Introdução de web
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010
 
COMO FAZER E-MAIL MARKETING EM HTML
COMO FAZER E-MAIL MARKETING EM HTMLCOMO FAZER E-MAIL MARKETING EM HTML
COMO FAZER E-MAIL MARKETING EM HTML
 
Curso asp - intermediario
Curso   asp - intermediarioCurso   asp - intermediario
Curso asp - intermediario
 
Tele cine mozer
Tele cine mozerTele cine mozer
Tele cine mozer
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
[PYTHONSUL2018] Apresentação do Tutorial - Automação de Testes com Robot Fram...
 
JSP - Java Serves Pages
JSP - Java Serves PagesJSP - Java Serves Pages
JSP - Java Serves Pages
 
Visão Geral De Desenvolvimento Web Sre 2012
Visão Geral De Desenvolvimento Web   Sre 2012Visão Geral De Desenvolvimento Web   Sre 2012
Visão Geral De Desenvolvimento Web Sre 2012
 
Guião demotécnica
Guião demotécnicaGuião demotécnica
Guião demotécnica
 

Mais de Pedro Neto

Capitulo 14 -_componentes_gui_parte_3
Capitulo 14 -_componentes_gui_parte_3Capitulo 14 -_componentes_gui_parte_3
Capitulo 14 -_componentes_gui_parte_3Pedro Neto
 
Html 5 -_aula_2
Html 5 -_aula_2Html 5 -_aula_2
Html 5 -_aula_2Pedro Neto
 
Html 5 -_aula_1
Html 5 -_aula_1Html 5 -_aula_1
Html 5 -_aula_1Pedro Neto
 
Capitulo 14 -_componentes_gui_parte_1
Capitulo 14 -_componentes_gui_parte_1Capitulo 14 -_componentes_gui_parte_1
Capitulo 14 -_componentes_gui_parte_1Pedro Neto
 
Como a web funciona
Como a web funcionaComo a web funciona
Como a web funcionaPedro Neto
 
Como a internet funciona
Como a internet funcionaComo a internet funciona
Como a internet funcionaPedro Neto
 
Interfaces POO
Interfaces POOInterfaces POO
Interfaces POOPedro Neto
 
Classes abstratas
Classes abstratasClasses abstratas
Classes abstratasPedro Neto
 
Heranca reescrita e_polimorfismo
Heranca reescrita e_polimorfismoHeranca reescrita e_polimorfismo
Heranca reescrita e_polimorfismoPedro Neto
 
Pacotes -organizando_suas_classes_e_bibliotecas
Pacotes  -organizando_suas_classes_e_bibliotecasPacotes  -organizando_suas_classes_e_bibliotecas
Pacotes -organizando_suas_classes_e_bibliotecasPedro Neto
 
Oficina de Computação Gráfica - Peças resultantes
Oficina de Computação Gráfica - Peças resultantesOficina de Computação Gráfica - Peças resultantes
Oficina de Computação Gráfica - Peças resultantesPedro Neto
 
Minicurso App Inventor
Minicurso App Inventor Minicurso App Inventor
Minicurso App Inventor Pedro Neto
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosPedro Neto
 
Avaliação do servidor Web em um Computador Singleboard Raspberry Pi com a Fer...
Avaliação do servidor Web em um Computador Singleboard Raspberry Pi com a Fer...Avaliação do servidor Web em um Computador Singleboard Raspberry Pi com a Fer...
Avaliação do servidor Web em um Computador Singleboard Raspberry Pi com a Fer...Pedro Neto
 
IF MOBILE – DESENVOLVIMENTO DE SOFTWARES PARA DISPOSITIVOS MÓVEIS: APLICATIVO...
IF MOBILE – DESENVOLVIMENTO DE SOFTWARES PARA DISPOSITIVOS MÓVEIS: APLICATIVO...IF MOBILE – DESENVOLVIMENTO DE SOFTWARES PARA DISPOSITIVOS MÓVEIS: APLICATIVO...
IF MOBILE – DESENVOLVIMENTO DE SOFTWARES PARA DISPOSITIVOS MÓVEIS: APLICATIVO...Pedro Neto
 

Mais de Pedro Neto (20)

Slides Css3
Slides Css3 Slides Css3
Slides Css3
 
Css 3
Css 3Css 3
Css 3
 
Capitulo 14 -_componentes_gui_parte_3
Capitulo 14 -_componentes_gui_parte_3Capitulo 14 -_componentes_gui_parte_3
Capitulo 14 -_componentes_gui_parte_3
 
Html 5 -_aula_2
Html 5 -_aula_2Html 5 -_aula_2
Html 5 -_aula_2
 
Html 5 -_aula_1
Html 5 -_aula_1Html 5 -_aula_1
Html 5 -_aula_1
 
Capitulo 14 -_componentes_gui_parte_1
Capitulo 14 -_componentes_gui_parte_1Capitulo 14 -_componentes_gui_parte_1
Capitulo 14 -_componentes_gui_parte_1
 
Como a web funciona
Como a web funcionaComo a web funciona
Como a web funciona
 
Como a internet funciona
Como a internet funcionaComo a internet funciona
Como a internet funciona
 
Arrays
ArraysArrays
Arrays
 
Interfaces POO
Interfaces POOInterfaces POO
Interfaces POO
 
Classes abstratas
Classes abstratasClasses abstratas
Classes abstratas
 
Heranca reescrita e_polimorfismo
Heranca reescrita e_polimorfismoHeranca reescrita e_polimorfismo
Heranca reescrita e_polimorfismo
 
Pacotes -organizando_suas_classes_e_bibliotecas
Pacotes  -organizando_suas_classes_e_bibliotecasPacotes  -organizando_suas_classes_e_bibliotecas
Pacotes -organizando_suas_classes_e_bibliotecas
 
Daw slide 01
Daw slide 01Daw slide 01
Daw slide 01
 
Sig parte 6
Sig parte 6Sig parte 6
Sig parte 6
 
Oficina de Computação Gráfica - Peças resultantes
Oficina de Computação Gráfica - Peças resultantesOficina de Computação Gráfica - Peças resultantes
Oficina de Computação Gráfica - Peças resultantes
 
Minicurso App Inventor
Minicurso App Inventor Minicurso App Inventor
Minicurso App Inventor
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Avaliação do servidor Web em um Computador Singleboard Raspberry Pi com a Fer...
Avaliação do servidor Web em um Computador Singleboard Raspberry Pi com a Fer...Avaliação do servidor Web em um Computador Singleboard Raspberry Pi com a Fer...
Avaliação do servidor Web em um Computador Singleboard Raspberry Pi com a Fer...
 
IF MOBILE – DESENVOLVIMENTO DE SOFTWARES PARA DISPOSITIVOS MÓVEIS: APLICATIVO...
IF MOBILE – DESENVOLVIMENTO DE SOFTWARES PARA DISPOSITIVOS MÓVEIS: APLICATIVO...IF MOBILE – DESENVOLVIMENTO DE SOFTWARES PARA DISPOSITIVOS MÓVEIS: APLICATIVO...
IF MOBILE – DESENVOLVIMENTO DE SOFTWARES PARA DISPOSITIVOS MÓVEIS: APLICATIVO...
 

Último

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxMauricioOliveira258223
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 

Último (20)

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptx
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 

Catálogo Produtos Dinâmicos

  • 1. Desenvolvimento de Aplicações Web Prof. Pedro Clarindo da Silva Neto Parte VIII
  • 2. Prof. Pedro Clarindo da Silva Neto Introdução ao JSP A tecnologia JSP permite misturar código HTML estático com conteúdo gerado dinamicamente em Java. Os trechos de código Java são simples- mente inseridos ao longo do HTML dentro de tags especiais, que começam com <% e terminam com %>. O código a seguir mostra, por exemplo, uma página que utiliza o dado de uma requisição para formar o HTML: Desenvolvimento de Aplicações Web
  • 3. Prof. Pedro Clarindo da Silva Neto Desenvolvimento de Aplicações Web Introdução ao JSP
  • 4. Prof. Pedro Clarindo da Silva Neto Introdução ao JSP Podemos pensar em servlets como código Java com HTML por dentro, e em JSP como código HTML com código Java por dentro. Apesar da grande diferença na forma de escrever esses dois tipos de código, serlvets e JSP são, no fundo, a mesma coisa. Os códigos escritos em JSP são traduzidos em servlets. JSP é, portanto, ape- nas uma forma de escrever servlets na qual o HTML é escrito mais facilmente (afinal, nos servlets devemos imprimir, em Java, cada linha gerada na página retornada ao usuário, o que não é muito produtivo quando temos páginas HTML complexas). Desenvolvimento de Aplicações Web
  • 5. Prof. Pedro Clarindo da Silva Neto Introdução ao JSP JSP é mais útil que servlets quando desenvolvemos a parte de apresentação do sistema ao usuário. Serlvets são mais utilizados quando implementamos a lógica de negócios do sistema, que possui mais cálculos e/ou consultas ao banco do que HTML. No exemplo acima, o código HTML será gerado no momento que o usuário fizer uma requisição. O código enviado ao cliente não exibirá o conteúdo entre as tags <% e %>. O que acontecerá é que este conteúdo será substituído pelo valor do campo “nome” enviado na requisição. Desenvolvimento de Aplicações Web
  • 6. Prof. Pedro Clarindo da Silva Neto Criação de uma padaria virtual Neste capítulo, criaremos o site de uma padaria virtual chamada “Web Pão”. O layout da página inicial do site pode ser visto na Figura: Desenvolvimento de Aplicações Web
  • 7. Prof. Pedro Clarindo da Silva Neto Criação de uma padaria virtual A página inicial mostra algumas opções de produtos que podem ser comprados pelo cliente. Os produtos pertencem às categorias “Pães”, “Tortas”, “Bolos”, “Salgados”, “Bebidas” e “Outros Produtos”. A página de cada produto é idêntica à inicial, exceto pelo fato de que só aparecem produtos desta categoria. As páginas do site são criadas dinamicamente e utilizam um banco de dados que contêm: Desenvolvimento de Aplicações Web
  • 8. Prof. Pedro Clarindo da Silva Neto Criação de uma padaria virtual Tabela contendo os usuários cadastrados no sistema. Cada usuário possui um nome, um email, uma senha, um endereço e um telefone. 
 Tabela com as categorias de produtos. Cada categoria contém um código (chave primária) e o nome da categoria. 
 Tabela contendo os produtos cadastrados. Cada produto na tabela possui um código (chave primária), um nome, uma descrição, um valor, uma imagem e o código de sua categoria (referente à chave primária da tabela de categorias). Tabela com produtos em destaque, de categorias diversas, que são exibidos na página inicial. Cada destaque possui apenas um código (chave primária) e o código de um produto (referente à chave primária da tabela de produtos). Desenvolvimento de Aplicações Web
  • 9. Prof. Pedro Clarindo da Silva Neto Criação de uma padaria virtual Desenvolvimento de Aplicações Web
  • 10. Prof. Pedro Clarindo da Silva Neto Criação de uma padaria virtual O menu de nosso site depende das categorias cadastradas no banco. Mesmo que categorias sejam incluídas ou removidas, o menu deve continuar funcionando. Para que isso ocorra, ele deve ser dinâmico, baseado na tabela com as categorias existente no banco. O trecho de código abaixo mostra como este menu pode ser feito em JSP: Desenvolvimento de Aplicações Web
  • 11. Criação de uma padaria virtual Desenvolvimento de Aplicações Web Prof. Pedro Clarindo da Silva Neto
  • 12. Prof. Pedro Clarindo da Silva Neto Criação de uma padaria virtual Como podemos ver no código acima, cada link correspondente a uma categoria será da seguinte forma: Desenvolvimento de Aplicações Web <a href=”produtos.jsp?cod_cat=1”>Pães</a>
  • 13. Prof. Pedro Clarindo da Silva Neto Criação de uma padaria virtual Neste caso, a página “produtos.jsp” está recebendo como parâmetro a variável “cod_cat” com o valor “1”, que corresponde ao código da categoria “Pães” na tabela “categorias” de nosso banco. Note que o código para conexão e consulta ao banco são análogos aos que faríamos em um servlet. Entretanto, para importar a biblioteca “java.sql.*” em JSP precisamos modificar <%@page %> presente no início dos códigos JSP: Desenvolvimento de Aplicações Web
  • 14. Prof. Pedro Clarindo da Silva Neto Criação de uma padaria virtual Normalmente, não inserimos consultas ao banco dentro do JSP. Em geral, os servlets realizam a lógicas mais complexas e o JSP apenas apresenta os resultados. E quando a conexão com o banco é realmente necessária dentro de um código JSP, costumamos utilizar classes que gerenciam as conexões e consultas. Desenvolvimento de Aplicações Web
  • 15. Prof. Pedro Clarindo da Silva Neto Reaproveitamento de código Desenvolvimento de Aplicações Web A parte superior da padaria virtual que contém o logotipo, a área de login e o menu aparecem em todas as subpáginas do site. Para não termos que copiar e colar o código em cada página, o JSP permite a criação de um trecho de código JSP que pode ser importado em diversas páginas. Estas subpáginas em JSP não precisam conter toda a estrutura de um arquivo HTML. Basta que elas contenham o trecho exato de código que deverá ser importado. Para importar um arquivo deste tipo, definimos o atributo “file” da tag <%@include %>. O arquivo “cabecalho.jsp”, por exemplo, poderia ser importado da seguinte forma:
  • 16. Prof. Pedro Clarindo da Silva Neto Reaproveitamento de código Desenvolvimento de Aplicações Web Com isso, todo o conteúdo do arquivo será inserido no local onde estiver sendo importado, no momento em que a página for requisitada. Outra vantagem de reaproveitar o código é que, em caso de alteração em seu conteúdo, apenas um arquivo (neste caso, o “cabecalho.jsp”) precisa ser modificado.
  • 17. Prof. Pedro Clarindo da Silva Neto Catálogo de produtos dinâmicos Desenvolvimento de Aplicações Web Os produtos da padaria virtual são exibidos na página em uma tabela, dois a dois, como podemos ver na Figura. Antes de tornar a página dinâmica, precisamos criar seu layout padrão. Cada item de tabela será semelhante ao trecho de código a seguir:
  • 18. Prof. Pedro Clarindo da Silva Neto Catálogo de produtos dinâmicos Desenvolvimento de Aplicações Web
  • 19. Prof. Pedro Clarindo da Silva Neto Catálogo de produtos dinâmicos Desenvolvimento de Aplicações Web O código gera algo parecido. Lembrando que para a imagem aparecer é preciso colocá-la no servidor. Neste caso em uma pata chamada img.
  • 20. Prof. Pedro Clarindo da Silva Neto Catálogo de produtos dinâmicos Desenvolvimento de Aplicações Web O código acima mostra todos os dados de um produto que precisam ser exibidos para o cliente (as informações que podem ser extraídas do banco foram sublinhadas). São elas: (1) localização da imagem do produto; (2) descrição do produto; (3) nome do produto; (4) preço do produto; e (5) código do produto. Para que o conteúdo seja gerado dinamicamente, é preciso que o trecho de código acima seja gerado para cada produto existente no banco que precise ser exibido: na página de “Pães”, todos os produtos pertencentes à categoria “Pães”, etc.
  • 21. Prof. Pedro Clarindo da Silva Neto Catálogo de produtos dinâmicos Desenvolvimento de Aplicações Web PLUS
  • 22. Prof. Pedro Clarindo da Silva Neto Fábrica de conexões Desenvolvimento de Aplicações Web Em determinado momento de nossa aplicação, gostaríamos de ter o controle sobre a construção dos objetos da nossa classe. Muito pode ser feito através do construtor, como saber quantos objetos foram instanciados ou fazer o log sobre essas instanciações. Às vezes, também queremos controlar um processo muito repetitivo e trabalhoso, como abrir uma conexão com o banco de dados. Tomemos como exemplo a classe a seguir que seria responsável por abrir uma conexão com o banco:
  • 23. Prof. Pedro Clarindo da Silva Neto Fábrica de conexões Desenvolvimento de Aplicações Web
  • 24. Prof. Pedro Clarindo da Silva Neto Fábrica de conexões Desenvolvimento de Aplicações Web A g o r a é s ó c h a m a r a n o s s a ConnectionFactory(). Connection con = new ConnectionFactory().getConnection();
  • 25. Prof. Pedro Clarindo da Silva Neto Fábrica de conexões Desenvolvimento de Aplicações Web Antes
  • 26. Prof. Pedro Clarindo da Silva Neto Fábrica de conexões Desenvolvimento de Aplicações Web Depois
  • 27. Programação para internet. / Hilário Seibel Júnior. – Vitória: Ifes, 2010. CAELUM, Java e Orientação a Objetos, Apostila. [Internet: http://www.caelum.com.br/ downloads/apostila/caelum-java-objetos-fj11.pdf]. Acesso em 04/03/2009. _____. Java Web, FJ-21. DEITEL, Harvey M.; DEITEL, Paul J., Java: Como Programar, São Paulo: Prentice-Hall, 2005. GOODMAN, Danny, JavaScript a Bíblia, Ed. Campus, 2001
 HALL, Marty; BROWN, Larry, Core Servlets e JavaServer Pages vo1 e vol 2, Ed. Ciência Moderna, 2005 HORSTMANN, Cay; CORNELL, Gary, Core Java 2, Fundamentos, São Paulo: Makron Books, Volume 1, 2000. KURNIAWAN, Budi, Java para a Web com Servlets, JSP e EJB, Ed. Ciência Moderna, 2002 MUSCIANO, Chuck; KENNEDY, Bill, HTML: The definitive guide, Ed. Orelly, 1997 OLSON, Steven Douglas, Ajax com Java, Ed. Alta Books, 2007 Referências Prof. Pedro Clarindo da Silva Neto Desenvolvimento de Aplicações Web