SlideShare uma empresa Scribd logo
Desenvolvimento de
Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Parte VI
Prof. Pedro Clarindo da Silva Neto
Páginas dinâmicas
O desenvolvimento da Internet levou à necessidade de criação de pági-
nas dinâmicas. A página de resultados exibida quando acessamos um
site de buscas como o Google, por exemplo, é criada naquele instante.
Ela depende, essencialmente, de dois fatores:
Da expressão de busca que inserimos, isto é, do conjunto de termos que
utilizamos para encontrar o site desejado. 

Do estado do banco de dados do Google naquele momento. 

Se voltarmos ao site após uma semana e realizarmos a mesma busca,
poderemos obter um resultado diferente. Isso ocorre porque o banco de
dados é atualizado constantemente, e novas páginas que podem atender
à nossa pesquisa são constantemente incluídas e/ou atualizadas.
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Páginas dinâmicas
O mesmo acontece com sites de lojas virtuais, que incluem e
atualizam o catálogo de produtos à venda constantemente. A
página de um carrinho de compras, por exemplo, não existe
antes de o cliente escolher os itens que quer comprar.
Páginas dinâmicas se baseiam nos dados submetidos pelo
usuário e é derivada dos dados contidos no banco, que são
alterados frequentemente. Existem várias linguagens de
programação que podemos utilizar para criá-las, como C, C+
+, Perl, ASP, PHP etc. Neste material utilizaremos a linguagem
Java, já vista em disciplinas anteriores, que possui uma API
específica para o desenvolvimento Web, além da facilidade da
orientação a objetos.
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Introdução aos Servlets
Servlets são programas em Java que rodam na Web ou em servidores
de aplicação, e que se comportam como uma camada entre as
requisições vindas dos navegadores e o banco de dados. O trabalho
de um servlet é: (1) ler os dados enviados pelo cliente (inseridos, por
exemplo, em um formulário HTML) e os dados implícitos enviados
pelo navegador (mostrados mais adiante); (2) gerar o resultado, em
um formato que o navegador entenda; e (3) enviar o documento
gerado e os dados implícitos para o navegador do cliente.
Para executar um servlet, é necessário um servidor (ou servlet contai-
ner), que processa as requisições e gera o documento de resposta. Se
seu Netbeans já possui suporte para web, é provável que você já
possua uma servidor (Tomcat ou GlassFish) instalado e configurado.
Caso contrário, procure um tutorial para lhe orientar.
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Introdução aos Servlets
Para testar, crie um novo projeto para web no Netbeans chamado
“ProjetoTeste”. Em seguida, clique com o botão direito em “Pacotes de
código fontes”, depois em “Novo”, e por fim em “Servlet” (veja na
Figura 31). Preencha o campo Nome da classe com “ServletTeste” (sem
as aspas), que será o nome do nosso primeiro servlet. Preencha também
o campo Pacote com “Teste” (pacote em que criaremos o servlet). Por
fim, clique em “Próximo” e depois em “Finalizar”.
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Introdução aos Servlets
Como podemos perceber no trecho acima, o código
HTML que será retornado ao usuário deve ser impresso
manualmente no arquivo de saída chamado “out”. Tudo
que for impresso neste arquivo fará parte da página
resultante.
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Pode não parecer muito prático imprimir as linhas de
código HTML de dentro do arquivo em Java, como visto
no trecho acima, e real- mente não é!
Mais adiante veremos que servlets são mais utilizados
para desenvolvermos a lógica de negócios do sistema.
Para criarmos a parte de apresentação, utilizamos JSP.
Mas como só aprenderemos JSP nos próximos capítulos,
vamos continuar criando as páginas retornadas ao
usuário, por enquanto, através de “out.println( )”.
Desenvolvimento de Aplicações Web
Introdução aos Servlets
Prof. Pedro Clarindo da Silva Neto
Introdução aos Servlets
Ao executarmos o projeto, nosso servlet será compilado, mas
ainda não será visualizado. Para visualizarmos, trocaremos a URI
http://localhost:8080/ProjetoTeste exibida pelo navegador pela URI
http://localhost:8080/ProjetoTeste/ServletTeste. Outra alternativa é
criarmos um link no arquivo “index.jsp” para esta última URI.
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Principais aspectos de um
Servlet
Servlets costumam ser executados após submetermos um formulário
HTML. Quando o usuário clica em um botão do tipo “submit” no
formulário de uma página, os dados preenchidos são enviados ao
servidor, que executa o servlet definido pelo atributo “action” da tag
<form>. Cada campo do formulário deve possuir um nome único, para
que o servlet seja capaz de recuperar o que foi digitado pelo usuário
neste campo:
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Principais aspectos de um
Servlet
O trecho de código HTML acima indica que os dados preenchidos no
formulário serão enviados ao servlet chamado “ServletTeste”, e os valo-
res poderão ser recuperados através dos nomes “nome” e “idade”.
Os servlets herdam da classe HttpServlet e recebem as variáveis
request e response como parâmetros. A primeira contém os dados
referentes à requisição submetida pelo usuário. Na outra, incluímos
informações relativas à resposta enviada ao navegador do cliente. Os
campos do formulário acima poderiam ser recuperados no servlet da
seguinte forma:
Desenvolvimento de Aplicações Web
Você pode imprimir as
variáveis acima no arquivo
de saída do servlet para
testar se o valor dos
campos “nome” e “idade”
realmente foram passados
pelo formulário.
Prof. Pedro Clarindo da Silva Neto
Métodos GET e POST
Além do atributo action, também podemos definir na tag <form>
o atributo method, que pode conter os valores “GET” ou “POST”.
Este atributo define a forma como os dados preenchidos no
formulário serão enviados ao servlet. Utilizando “GET”, os dados
são passados através da URI. A URI abaixo, por exemplo, indica
que os parâmetros passados ao servlet são “nome” e “idade”, que
possuem os valores “Hilario” e “27”, respectivamente.
Desenvolvimento de Aplicações Web
http://localhost:8080/ProjetoTeste/ServletTeste?nome=Hilario&idade=27
Utilizando “POST”, os valores são enviados implicitamente, através
do cabeçalho enviado pelo navegador. Isto é interessante quando o
formulário contém senha, pois não desejamos que as mesmas sejam
exibidas na URI. Se o atributo method não for definido, o padrão é
que o formulário seja enviado utilizando o método “GET”.
Prof. Pedro Clarindo da Silva Neto
Primeiro exemplo de Servlet
No código abaixo, criamos um formulário em um
arquivo HTML. Quando ele for submetido, os dados
preenchidos serão enviados a um servlet chamado
“ConfereIdade” através do método “GET”:
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Primeiro exemplo de Servlet
O arquivo “ConfereIdade.java” deve ser um servlet que exibe uma
saudação ao usuário caso sua idade seja maior ou igual a 18. Caso
contrário, o usuário é redirecionado ao site do IFMT. Veja a seguir o
código contido no método “ProcessRequest” do servlet:
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Primeiro exemplo de Servlet
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Primeiro exemplo de Servlet
A maioria dos servlets possuirão esta estrutura:
• Primeiro, acessamos os valores preenchidos
nos campos dos formulários;
• Em seguida, realizamos algum processamento
com estes valores;
• Por fim, devolvemos a resposta ao usuário.
Veremos mais adiante que o processamento
costuma incluir acesso a banco de dados, para
que as páginas fiquem ainda mais dinâmicas.
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Começando a criar um webmail
Para treinarmos os conceitos vistos acima,
vamos começar a criar a interface inicial de
um webmail. O primeiro passo é criar uma
página inicial para nosso site, que deve
permitir que o usuário digite seu login e sua
senha. Também iremos incluir as opções de
“Cadastro” e “Lembrete de Senha”. Tente
criar um código que exiba uma página
semelhante à da Figura a seguir:
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Começando a criar um webmail
Desenvolvimento de Aplicações Web
Proposta do livro-texto com css
e javascript para validar.
Proposta do professor com
bootstrap e html5
Prof. Pedro Clarindo da Silva Neto
Começando a criar um webmail
Ao submeter o formulário acima, os dados devem ser
enviados a um servlet chamado “login” através do
método “Post” (para que a senha não seja exibida na
URI).
O próximo passo é verificar se o usuário existe no
banco de dados e, neste caso, se sua senha está
correta. Por enquanto, vamos criar apenas o “esque-
leto” do servlet, sem incluir o acesso ao banco. Neste
caso, o login será considerado correto somente se o
login digitado for “user” e a senha for “123”:
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Começando a criar um webmail
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Começando a criar um webmail
O trecho de código acima prevê a verificação dos seguintes
casos:
Campos do formulário não foram preenchidos; 

•Usuário não existe; 

•Senha correta; e 

•Senha incorreta. 

No próximo capítulo, iremos aprimorar o código acima
realizando consultas no banco de dados.
Desenvolvimento de Aplicações Web
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.
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

Slide 05 implementando o login , logout e flash data
Slide 05   implementando o login , logout e flash dataSlide 05   implementando o login , logout e flash data
Slide 05 implementando o login , logout e flash data
Raniere de Lima
 
Javascript - Biblioteca Jquery
Javascript - Biblioteca JqueryJavascript - Biblioteca Jquery
Javascript - Biblioteca JqueryMultside Digital
 
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
Michael Costa
 
Como Instalar O WordPress
Como Instalar O WordPressComo Instalar O WordPress
Como Instalar O WordPress
mauricio souza
 
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
Juliano 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-end
Mario Sergio
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojo
fabioginzel
 
MS PowerPoint - Fácil e Prático!
MS PowerPoint - Fácil e Prático!MS PowerPoint - Fácil e Prático!
MS PowerPoint - Fácil e Prático!
Welington Carvalho
 

Mais procurados (9)

Slide 05 implementando o login , logout e flash data
Slide 05   implementando o login , logout e flash dataSlide 05   implementando o login , logout e flash data
Slide 05 implementando o login , logout e flash data
 
Javascript - Biblioteca Jquery
Javascript - Biblioteca JqueryJavascript - Biblioteca Jquery
Javascript - Biblioteca Jquery
 
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
 
Como Instalar O WordPress
Como Instalar O WordPressComo Instalar O WordPress
Como Instalar O WordPress
 
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
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojo
 
Jsf
JsfJsf
Jsf
 
MS PowerPoint - Fácil e Prático!
MS PowerPoint - Fácil e Prático!MS PowerPoint - Fácil e Prático!
MS PowerPoint - Fácil e Prático!
 

Semelhante a Daw slide 06

Introdução de web
Introdução de webIntrodução de web
Introdução de web
Sedu
 
02 - Fundamentos de Servlets
02 - Fundamentos de Servlets02 - Fundamentos de Servlets
02 - Fundamentos de Servlets
Marcio Marinho
 
Mvc model view controller - java para desenvolvimento web
Mvc   model view controller - java para desenvolvimento webMvc   model view controller - java para desenvolvimento web
Mvc model view controller - java para desenvolvimento web
Valdir Junior
 
Comet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - ResumoComet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - Resumo
Handerson Frota
 
Servlet jsp tomcat 8
Servlet jsp tomcat 8Servlet jsp tomcat 8
Servlet jsp tomcat 8
maxrosan
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Daniel Makiyama
 
Aplicações web parte 1
Aplicações web parte 1Aplicações web parte 1
Aplicações web parte 1
Elaine Cecília Gatto
 
Desafio Rest API
Desafio Rest APIDesafio Rest API
Desafio Rest API
Reinaldo Junior
 
Apontamentos psi m18
Apontamentos psi m18Apontamentos psi m18
Apontamentos psi m18tomascarol2
 
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
 
Guião demotécnica
Guião demotécnicaGuião demotécnica
Guião demotécnicaSilvio Dias
 
Guiao demotecnica
Guiao demotecnicaGuiao demotecnica
Guiao demotecnicaSilvio Dias
 
Asp tutorial asp
Asp   tutorial aspAsp   tutorial asp
Asp tutorial asprobinhoct
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifaguestea329c
 
Aula01
Aula01Aula01
Aula01
xinasam
 
Curso Java (Parte 8) Web Service REST
Curso Java (Parte 8) Web Service RESTCurso Java (Parte 8) Web Service REST
Curso Java (Parte 8) Web Service REST
Mario Sergio
 

Semelhante a Daw slide 06 (20)

Introdução de web
Introdução de webIntrodução de web
Introdução de web
 
02 - Fundamentos de Servlets
02 - Fundamentos de Servlets02 - Fundamentos de Servlets
02 - Fundamentos de Servlets
 
Te aula1
Te aula1Te aula1
Te aula1
 
Mvc model view controller - java para desenvolvimento web
Mvc   model view controller - java para desenvolvimento webMvc   model view controller - java para desenvolvimento web
Mvc model view controller - java para desenvolvimento web
 
Comet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - ResumoComet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - Resumo
 
Servlet jsp tomcat 8
Servlet jsp tomcat 8Servlet jsp tomcat 8
Servlet jsp tomcat 8
 
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
 
Aplicações web parte 1
Aplicações web parte 1Aplicações web parte 1
Aplicações web parte 1
 
Desafio Rest API
Desafio Rest APIDesafio Rest API
Desafio Rest API
 
Apontamentos psi m18
Apontamentos psi m18Apontamentos psi m18
Apontamentos psi m18
 
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
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 
Guião demotécnica
Guião demotécnicaGuião demotécnica
Guião demotécnica
 
Guiao demotecnica
Guiao demotecnicaGuiao demotecnica
Guiao demotecnica
 
Te servelts
Te serveltsTe servelts
Te servelts
 
Asp tutorial asp
Asp   tutorial aspAsp   tutorial asp
Asp tutorial asp
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Aula01
Aula01Aula01
Aula01
 
Curso Java (Parte 8) Web Service REST
Curso Java (Parte 8) Web Service RESTCurso Java (Parte 8) Web Service REST
Curso Java (Parte 8) Web Service REST
 

Mais de Pedro Neto

Slides Css3
Slides Css3 Slides Css3
Slides Css3
Pedro Neto
 
Css 3
Css 3Css 3
Css 3
Pedro Neto
 
Capitulo 14 -_componentes_gui_parte_3
Capitulo 14 -_componentes_gui_parte_3Capitulo 14 -_componentes_gui_parte_3
Capitulo 14 -_componentes_gui_parte_3
Pedro Neto
 
Html 5 -_aula_2
Html 5 -_aula_2Html 5 -_aula_2
Html 5 -_aula_2
Pedro Neto
 
Html 5 -_aula_1
Html 5 -_aula_1Html 5 -_aula_1
Html 5 -_aula_1
Pedro Neto
 
Capitulo 14 -_componentes_gui_parte_1
Capitulo 14 -_componentes_gui_parte_1Capitulo 14 -_componentes_gui_parte_1
Capitulo 14 -_componentes_gui_parte_1
Pedro Neto
 
Como a web funciona
Como a web funcionaComo a web funciona
Como a web funciona
Pedro Neto
 
Como a internet funciona
Como a internet funcionaComo a internet funciona
Como a internet funciona
Pedro Neto
 
Arrays
ArraysArrays
Arrays
Pedro Neto
 
Interfaces POO
Interfaces POOInterfaces POO
Interfaces POO
Pedro Neto
 
Classes abstratas
Classes abstratasClasses abstratas
Classes abstratas
Pedro Neto
 
Heranca reescrita e_polimorfismo
Heranca reescrita e_polimorfismoHeranca reescrita e_polimorfismo
Heranca reescrita e_polimorfismo
Pedro Neto
 
Pacotes -organizando_suas_classes_e_bibliotecas
Pacotes  -organizando_suas_classes_e_bibliotecasPacotes  -organizando_suas_classes_e_bibliotecas
Pacotes -organizando_suas_classes_e_bibliotecas
Pedro Neto
 
Daw slide 01
Daw slide 01Daw slide 01
Daw slide 01
Pedro Neto
 
Sig parte 6
Sig parte 6Sig parte 6
Sig parte 6
Pedro 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 resultantes
Pedro 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 Objetos
Pedro 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

A nossa mini semana 2706 2906 Juliana.pptx
A nossa mini semana 2706 2906 Juliana.pptxA nossa mini semana 2706 2906 Juliana.pptx
A nossa mini semana 2706 2906 Juliana.pptx
juserpa07
 
PROVA FINAL Filosofia e Educação Cristã.ppt
PROVA FINAL Filosofia e Educação Cristã.pptPROVA FINAL Filosofia e Educação Cristã.ppt
PROVA FINAL Filosofia e Educação Cristã.ppt
betokg
 
05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx
ValdineyRodriguesBez1
 
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Biblioteca UCS
 
Unificação da Itália e a formação da Alemanha
Unificação da Itália e a formação da AlemanhaUnificação da Itália e a formação da Alemanha
Unificação da Itália e a formação da Alemanha
Acrópole - História & Educação
 
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxSlides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
LuizHenriquedeAlmeid6
 
INGLÊS COMO LÍNGUA FRANCA - IMPORTÂNCIA.pptx
INGLÊS COMO LÍNGUA FRANCA - IMPORTÂNCIA.pptxINGLÊS COMO LÍNGUA FRANCA - IMPORTÂNCIA.pptx
INGLÊS COMO LÍNGUA FRANCA - IMPORTÂNCIA.pptx
AndreasCarvalho2
 
Caça-palavras ortografia M antes de P e B.
Caça-palavras    ortografia M antes de P e B.Caça-palavras    ortografia M antes de P e B.
Caça-palavras ortografia M antes de P e B.
Mary Alvarenga
 
EJA -livro para professor -dos anos iniciais letramento e alfabetização.pdf
EJA -livro para professor -dos anos iniciais letramento e alfabetização.pdfEJA -livro para professor -dos anos iniciais letramento e alfabetização.pdf
EJA -livro para professor -dos anos iniciais letramento e alfabetização.pdf
Escola Municipal Jesus Cristo
 
.Template .padrao .slides .TCC .2024 ppt
.Template .padrao .slides .TCC .2024 ppt.Template .padrao .slides .TCC .2024 ppt
.Template .padrao .slides .TCC .2024 ppt
IslanderAndrade
 
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdfPowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
1000a
 
the_story_garden_5_SB_with_activities.pdf
the_story_garden_5_SB_with_activities.pdfthe_story_garden_5_SB_with_activities.pdf
the_story_garden_5_SB_with_activities.pdf
CarinaSoto12
 
o que está acontecendo no Rio grande do Sul
o que está acontecendo no Rio grande do Sulo que está acontecendo no Rio grande do Sul
o que está acontecendo no Rio grande do Sul
CarlaInsStaub
 
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdfAPOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
RenanSilva991968
 
Sócrates e os sofistas - apresentação de slides
Sócrates e os sofistas - apresentação de slidesSócrates e os sofistas - apresentação de slides
Sócrates e os sofistas - apresentação de slides
jbellas2
 
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdfAPOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
RenanSilva991968
 
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdfCaderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
enpfilosofiaufu
 
Atividade - Letra da música "Tem Que Sorrir" - Jorge e Mateus
Atividade - Letra da música "Tem Que Sorrir"  - Jorge e MateusAtividade - Letra da música "Tem Que Sorrir"  - Jorge e Mateus
Atividade - Letra da música "Tem Que Sorrir" - Jorge e Mateus
Mary Alvarenga
 
UFCD_8298_Cozinha criativa_índice do manual
UFCD_8298_Cozinha criativa_índice do manualUFCD_8298_Cozinha criativa_índice do manual
UFCD_8298_Cozinha criativa_índice do manual
Manuais Formação
 
Memorial do convento slides- português 2023
Memorial do convento slides- português 2023Memorial do convento slides- português 2023
Memorial do convento slides- português 2023
MatildeBrites
 

Último (20)

A nossa mini semana 2706 2906 Juliana.pptx
A nossa mini semana 2706 2906 Juliana.pptxA nossa mini semana 2706 2906 Juliana.pptx
A nossa mini semana 2706 2906 Juliana.pptx
 
PROVA FINAL Filosofia e Educação Cristã.ppt
PROVA FINAL Filosofia e Educação Cristã.pptPROVA FINAL Filosofia e Educação Cristã.ppt
PROVA FINAL Filosofia e Educação Cristã.ppt
 
05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx
 
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
 
Unificação da Itália e a formação da Alemanha
Unificação da Itália e a formação da AlemanhaUnificação da Itália e a formação da Alemanha
Unificação da Itália e a formação da Alemanha
 
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxSlides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
 
INGLÊS COMO LÍNGUA FRANCA - IMPORTÂNCIA.pptx
INGLÊS COMO LÍNGUA FRANCA - IMPORTÂNCIA.pptxINGLÊS COMO LÍNGUA FRANCA - IMPORTÂNCIA.pptx
INGLÊS COMO LÍNGUA FRANCA - IMPORTÂNCIA.pptx
 
Caça-palavras ortografia M antes de P e B.
Caça-palavras    ortografia M antes de P e B.Caça-palavras    ortografia M antes de P e B.
Caça-palavras ortografia M antes de P e B.
 
EJA -livro para professor -dos anos iniciais letramento e alfabetização.pdf
EJA -livro para professor -dos anos iniciais letramento e alfabetização.pdfEJA -livro para professor -dos anos iniciais letramento e alfabetização.pdf
EJA -livro para professor -dos anos iniciais letramento e alfabetização.pdf
 
.Template .padrao .slides .TCC .2024 ppt
.Template .padrao .slides .TCC .2024 ppt.Template .padrao .slides .TCC .2024 ppt
.Template .padrao .slides .TCC .2024 ppt
 
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdfPowerPoint Newton gostava de Ler - Saber em Gel.pdf
PowerPoint Newton gostava de Ler - Saber em Gel.pdf
 
the_story_garden_5_SB_with_activities.pdf
the_story_garden_5_SB_with_activities.pdfthe_story_garden_5_SB_with_activities.pdf
the_story_garden_5_SB_with_activities.pdf
 
o que está acontecendo no Rio grande do Sul
o que está acontecendo no Rio grande do Sulo que está acontecendo no Rio grande do Sul
o que está acontecendo no Rio grande do Sul
 
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdfAPOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
 
Sócrates e os sofistas - apresentação de slides
Sócrates e os sofistas - apresentação de slidesSócrates e os sofistas - apresentação de slides
Sócrates e os sofistas - apresentação de slides
 
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdfAPOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
APOSTILA DE TEXTOS CURTOS E INTERPRETAÇÃO.pdf
 
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdfCaderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
 
Atividade - Letra da música "Tem Que Sorrir" - Jorge e Mateus
Atividade - Letra da música "Tem Que Sorrir"  - Jorge e MateusAtividade - Letra da música "Tem Que Sorrir"  - Jorge e Mateus
Atividade - Letra da música "Tem Que Sorrir" - Jorge e Mateus
 
UFCD_8298_Cozinha criativa_índice do manual
UFCD_8298_Cozinha criativa_índice do manualUFCD_8298_Cozinha criativa_índice do manual
UFCD_8298_Cozinha criativa_índice do manual
 
Memorial do convento slides- português 2023
Memorial do convento slides- português 2023Memorial do convento slides- português 2023
Memorial do convento slides- português 2023
 

Daw slide 06

  • 1. Desenvolvimento de Aplicações Web Prof. Pedro Clarindo da Silva Neto Parte VI
  • 2. Prof. Pedro Clarindo da Silva Neto Páginas dinâmicas O desenvolvimento da Internet levou à necessidade de criação de pági- nas dinâmicas. A página de resultados exibida quando acessamos um site de buscas como o Google, por exemplo, é criada naquele instante. Ela depende, essencialmente, de dois fatores: Da expressão de busca que inserimos, isto é, do conjunto de termos que utilizamos para encontrar o site desejado. 
 Do estado do banco de dados do Google naquele momento. 
 Se voltarmos ao site após uma semana e realizarmos a mesma busca, poderemos obter um resultado diferente. Isso ocorre porque o banco de dados é atualizado constantemente, e novas páginas que podem atender à nossa pesquisa são constantemente incluídas e/ou atualizadas. Desenvolvimento de Aplicações Web
  • 3. Prof. Pedro Clarindo da Silva Neto Páginas dinâmicas O mesmo acontece com sites de lojas virtuais, que incluem e atualizam o catálogo de produtos à venda constantemente. A página de um carrinho de compras, por exemplo, não existe antes de o cliente escolher os itens que quer comprar. Páginas dinâmicas se baseiam nos dados submetidos pelo usuário e é derivada dos dados contidos no banco, que são alterados frequentemente. Existem várias linguagens de programação que podemos utilizar para criá-las, como C, C+ +, Perl, ASP, PHP etc. Neste material utilizaremos a linguagem Java, já vista em disciplinas anteriores, que possui uma API específica para o desenvolvimento Web, além da facilidade da orientação a objetos. Desenvolvimento de Aplicações Web
  • 4. Prof. Pedro Clarindo da Silva Neto Introdução aos Servlets Servlets são programas em Java que rodam na Web ou em servidores de aplicação, e que se comportam como uma camada entre as requisições vindas dos navegadores e o banco de dados. O trabalho de um servlet é: (1) ler os dados enviados pelo cliente (inseridos, por exemplo, em um formulário HTML) e os dados implícitos enviados pelo navegador (mostrados mais adiante); (2) gerar o resultado, em um formato que o navegador entenda; e (3) enviar o documento gerado e os dados implícitos para o navegador do cliente. Para executar um servlet, é necessário um servidor (ou servlet contai- ner), que processa as requisições e gera o documento de resposta. Se seu Netbeans já possui suporte para web, é provável que você já possua uma servidor (Tomcat ou GlassFish) instalado e configurado. Caso contrário, procure um tutorial para lhe orientar. Desenvolvimento de Aplicações Web
  • 5. Prof. Pedro Clarindo da Silva Neto Introdução aos Servlets Para testar, crie um novo projeto para web no Netbeans chamado “ProjetoTeste”. Em seguida, clique com o botão direito em “Pacotes de código fontes”, depois em “Novo”, e por fim em “Servlet” (veja na Figura 31). Preencha o campo Nome da classe com “ServletTeste” (sem as aspas), que será o nome do nosso primeiro servlet. Preencha também o campo Pacote com “Teste” (pacote em que criaremos o servlet). Por fim, clique em “Próximo” e depois em “Finalizar”. Desenvolvimento de Aplicações Web
  • 6. Prof. Pedro Clarindo da Silva Neto Introdução aos Servlets Como podemos perceber no trecho acima, o código HTML que será retornado ao usuário deve ser impresso manualmente no arquivo de saída chamado “out”. Tudo que for impresso neste arquivo fará parte da página resultante. Desenvolvimento de Aplicações Web
  • 7. Prof. Pedro Clarindo da Silva Neto Pode não parecer muito prático imprimir as linhas de código HTML de dentro do arquivo em Java, como visto no trecho acima, e real- mente não é! Mais adiante veremos que servlets são mais utilizados para desenvolvermos a lógica de negócios do sistema. Para criarmos a parte de apresentação, utilizamos JSP. Mas como só aprenderemos JSP nos próximos capítulos, vamos continuar criando as páginas retornadas ao usuário, por enquanto, através de “out.println( )”. Desenvolvimento de Aplicações Web Introdução aos Servlets
  • 8. Prof. Pedro Clarindo da Silva Neto Introdução aos Servlets Ao executarmos o projeto, nosso servlet será compilado, mas ainda não será visualizado. Para visualizarmos, trocaremos a URI http://localhost:8080/ProjetoTeste exibida pelo navegador pela URI http://localhost:8080/ProjetoTeste/ServletTeste. Outra alternativa é criarmos um link no arquivo “index.jsp” para esta última URI. Desenvolvimento de Aplicações Web
  • 9. Prof. Pedro Clarindo da Silva Neto Principais aspectos de um Servlet Servlets costumam ser executados após submetermos um formulário HTML. Quando o usuário clica em um botão do tipo “submit” no formulário de uma página, os dados preenchidos são enviados ao servidor, que executa o servlet definido pelo atributo “action” da tag <form>. Cada campo do formulário deve possuir um nome único, para que o servlet seja capaz de recuperar o que foi digitado pelo usuário neste campo: Desenvolvimento de Aplicações Web
  • 10. Prof. Pedro Clarindo da Silva Neto Principais aspectos de um Servlet O trecho de código HTML acima indica que os dados preenchidos no formulário serão enviados ao servlet chamado “ServletTeste”, e os valo- res poderão ser recuperados através dos nomes “nome” e “idade”. Os servlets herdam da classe HttpServlet e recebem as variáveis request e response como parâmetros. A primeira contém os dados referentes à requisição submetida pelo usuário. Na outra, incluímos informações relativas à resposta enviada ao navegador do cliente. Os campos do formulário acima poderiam ser recuperados no servlet da seguinte forma: Desenvolvimento de Aplicações Web Você pode imprimir as variáveis acima no arquivo de saída do servlet para testar se o valor dos campos “nome” e “idade” realmente foram passados pelo formulário.
  • 11. Prof. Pedro Clarindo da Silva Neto Métodos GET e POST Além do atributo action, também podemos definir na tag <form> o atributo method, que pode conter os valores “GET” ou “POST”. Este atributo define a forma como os dados preenchidos no formulário serão enviados ao servlet. Utilizando “GET”, os dados são passados através da URI. A URI abaixo, por exemplo, indica que os parâmetros passados ao servlet são “nome” e “idade”, que possuem os valores “Hilario” e “27”, respectivamente. Desenvolvimento de Aplicações Web http://localhost:8080/ProjetoTeste/ServletTeste?nome=Hilario&idade=27 Utilizando “POST”, os valores são enviados implicitamente, através do cabeçalho enviado pelo navegador. Isto é interessante quando o formulário contém senha, pois não desejamos que as mesmas sejam exibidas na URI. Se o atributo method não for definido, o padrão é que o formulário seja enviado utilizando o método “GET”.
  • 12. Prof. Pedro Clarindo da Silva Neto Primeiro exemplo de Servlet No código abaixo, criamos um formulário em um arquivo HTML. Quando ele for submetido, os dados preenchidos serão enviados a um servlet chamado “ConfereIdade” através do método “GET”: Desenvolvimento de Aplicações Web
  • 13. Prof. Pedro Clarindo da Silva Neto Primeiro exemplo de Servlet O arquivo “ConfereIdade.java” deve ser um servlet que exibe uma saudação ao usuário caso sua idade seja maior ou igual a 18. Caso contrário, o usuário é redirecionado ao site do IFMT. Veja a seguir o código contido no método “ProcessRequest” do servlet: Desenvolvimento de Aplicações Web
  • 14. Prof. Pedro Clarindo da Silva Neto Primeiro exemplo de Servlet Desenvolvimento de Aplicações Web
  • 15. Prof. Pedro Clarindo da Silva Neto Primeiro exemplo de Servlet A maioria dos servlets possuirão esta estrutura: • Primeiro, acessamos os valores preenchidos nos campos dos formulários; • Em seguida, realizamos algum processamento com estes valores; • Por fim, devolvemos a resposta ao usuário. Veremos mais adiante que o processamento costuma incluir acesso a banco de dados, para que as páginas fiquem ainda mais dinâmicas. Desenvolvimento de Aplicações Web
  • 16. Prof. Pedro Clarindo da Silva Neto Começando a criar um webmail Para treinarmos os conceitos vistos acima, vamos começar a criar a interface inicial de um webmail. O primeiro passo é criar uma página inicial para nosso site, que deve permitir que o usuário digite seu login e sua senha. Também iremos incluir as opções de “Cadastro” e “Lembrete de Senha”. Tente criar um código que exiba uma página semelhante à da Figura a seguir: Desenvolvimento de Aplicações Web
  • 17. Prof. Pedro Clarindo da Silva Neto Começando a criar um webmail Desenvolvimento de Aplicações Web Proposta do livro-texto com css e javascript para validar. Proposta do professor com bootstrap e html5
  • 18. Prof. Pedro Clarindo da Silva Neto Começando a criar um webmail Ao submeter o formulário acima, os dados devem ser enviados a um servlet chamado “login” através do método “Post” (para que a senha não seja exibida na URI). O próximo passo é verificar se o usuário existe no banco de dados e, neste caso, se sua senha está correta. Por enquanto, vamos criar apenas o “esque- leto” do servlet, sem incluir o acesso ao banco. Neste caso, o login será considerado correto somente se o login digitado for “user” e a senha for “123”: Desenvolvimento de Aplicações Web
  • 19. Prof. Pedro Clarindo da Silva Neto Começando a criar um webmail Desenvolvimento de Aplicações Web
  • 20. Prof. Pedro Clarindo da Silva Neto Começando a criar um webmail O trecho de código acima prevê a verificação dos seguintes casos: Campos do formulário não foram preenchidos; 
 •Usuário não existe; 
 •Senha correta; e 
 •Senha incorreta. 
 No próximo capítulo, iremos aprimorar o código acima realizando consultas no banco de dados. Desenvolvimento de Aplicações Web
  • 21. 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. 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