SlideShare uma empresa Scribd logo
Desenvolvimento de
Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Parte VII
Prof. Pedro Clarindo da Silva Neto
Servlet acessando banco de
dados
Antes de conectarmos um servlet a um banco de dados, é
necessário que este banco seja criado. O NetBeans possui
uma ferramenta para gerenciar bancos de dados que permite,
por exemplo, criar um banco, criar suas tabelas, realizar
consultas e inserir dados nas tabelas do banco. Além disso, as
instalações padrões já vêm com um banco de dados chamado
“Java DB” previamente instalado.
Neste material, iremos utilizar o banco “Java DB”, mas a
lógica dos programas é a mesma caso fosse utilizado outro
banco, como MySQL por exemplo. É provável que o “Java
DB” banco já esteja instalado e configurado em seu NetBeans.
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Servlet acessando banco de
dados
Para conferir, clique na aba “Serviços”, expanda a opção
“Banco de Dados”, clique com o botão direito em “Java DB” e
crie um novo banco de dados.
Desenvolvimento de Aplicações Web
Em seguida, escolha um nome para o banco (por exemplo, “webmail”),
um login e uma senha, que serão necessários para a conexão com o
banco. O banco criado irá aparecer na aba “Serviços”.
Prof. Pedro Clarindo da Silva Neto
Servlet acessando banco de
dados
Clique com o botão direito no banco, escolha a opção “Conectar ao
banco” e depois expanda-o. Repare que agora é possível visualizar as
tabelas do banco (por enquanto nenhuma tabela foi criada). Para criar
uma tabela, clique com o botão direito em “Tabelas” e escolha a opção
“Criar Tabela”.
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Servlet acessando banco de
dados
O banco de dados para nosso webmail irá armazenar o nome, o login,
a senha e um email alternativo de cada usuário (o email alternativo
será necessário para que o usuário possa recuperar sua senha). A
Figura a seguir mostra a criação destes campos na tabela “usuário”.
Desenvolvimento de Aplicações Web
Prof. Pedro Clarindo da Silva Neto
Servlet acessando banco de
dados
Desenvolvimento de Aplicações Web
Repare que o login é chave primária da tabela (não pode haver dois
usuários com mesmo login, nem usuário sem login). Após a criação da
tabela, se clicarmos com o botão direito sobre ela na aba
“Serviços”,podemos escolher a opção “Visualizar Dados”. Esta opção nos
mostra os dados já inseridos e permite inserirmos dados na tabela.
Conectando o servlet a um
banco de dados
Desenvolvimento de Aplicações Web
Para conectarmos a um banco de dados em Java, precisamos importar a
biblioteca java.sql.* e inserir o trecho de código a seguir no local onde
queremos fazer a conexão:
Prof. Pedro Clarindo da Silva Neto
Cadastro de usuário no banco
Desenvolvimento de Aplicações Web
Para que os usuários possam se inscrever em nosso webmail,
devemos criar uma página de cadastro e apontar para ela na
página inicial. A página deve conter um formulário onde o
usuário preenche os dados necessários de acordo com o
banco criado (em nosso caso, os dados são “nome”, “login”,
“senha” e “email”).
É importante que o usuário possa inserir valores que caibam
nos campos do banco de dados. Para isso, utilize o atributo
“maxlength” da tag <input /> para definir este número
máximo de caracteres de acordo com o tamanho dos
campos criados na tabela.
Prof. Pedro Clarindo da Silva Neto
Cadastro de usuário no banco
Desenvolvimento de Aplicações Web
O servlet de cadastro que irá receber os valores
preenchidos pelo usuário deve se conectar ao
banco de dados e enviar um comando SQL
referente a uma inserção, como a seguir:
Prof. Pedro Clarindo da Silva Neto
INSERT INTO usuario VALUES (‘Pedro Clarindo da Silva Neto’,
‘tuxcuiabano’, ‘123’, ‘pedro.neto@cba.ifmt.edu.br’)
Cadastro de usuário no banco
Desenvolvimento de Aplicações Web
Para criarmos uma string em Java com este
comando, precisamos recuperar os valores
preenchidos pelo usuário no formulário. O código
em Java deve ser semelhante ao trecho a seguir:
Prof. Pedro Clarindo da Silva Neto
Cadastro de usuário no banco
Desenvolvimento de Aplicações Web
Para criarmos uma string em Java com este
comando, precisamos recuperar os valores
preenchidos pelo usuário no formulário. O código
em Java deve ser semelhante ao trecho a seguir:
Prof. Pedro Clarindo da Silva Neto
Cadastro de usuário no banco
Desenvolvimento de Aplicações Web
Repare que os parênteses e as aspas simples do comando SQL
devem aparecer na string resultante. Após adaptar o código ao
seu projeto, execute-o e teste se os usuários vão aparecendo no
banco na medida em que forem sendo criados através do site.
Prof. Pedro Clarindo da Silva Neto
Cadastro de usuário no banco
Desenvolvimento de Aplicações Web
Para ver os dados é só ir na aba “Serviços", clicar com o
botão direito na tabela “usuario" e escolher a opção
“Exibir Dados”. Abrirá uma nova aba, mostrando os
dados gravados na tabela.
Prof. Pedro Clarindo da Silva Neto
Login
Desenvolvimento de Aplicações Web
Após inserir alguns usuários no banco, podemos retomar
nosso servlet de login criado no capítulo passado. O site de
login envia ao servlet os valores de “login” e “senha”
preenchidos pelo usuário. Devemos consultar o banco para
verificar se o usuário existe e, neste caso, se sua senha está
correta. O servlet deve se conectar ao banco de dados e enviar
um comando SQL referente a uma consulta, como a seguir:
Prof. Pedro Clarindo da Silva Neto
SELECT nome, senha FROM usuario WHERE login = ‘tuxcuiabano’
Login
Desenvolvimento de Aplicações Web
Para realizarmos esta consulta em Java, precisamos
de um código semelhante ao trecho a seguir:
Prof. Pedro Clarindo da Silva Neto
O objeto do tipo “ResultSet” contém o conjunto de
linhas resultantes de uma consulta ao banco. Para
iterarmos entre as linhas do conjunto de resultados,
utilizamos o método “resultados.next( )”.
Login
Desenvolvimento de Aplicações Web
O trecho de código a seguir, por exemplo, imprimiria o
nome de todos os usuários retornados pela consulta acima:
Prof. Pedro Clarindo da Silva Neto
Repare que “nome”, neste caso, se refere a uma coluna
presente no conjunto de resultados retornado por nossa
consulta. Entretanto, sabemos que o conjunto de resultados,
em nosso caso, deverá conter zero ou um elemento (já que
o campo “login” é chave primária de nossa tabela).
Login
Desenvolvimento de Aplicações Web
Portanto, ao invés de iterar entre os usuários retornados, precisa- mos apenas
verificar se algum usuário foi encontrado. O esqueleto do código ficaria assim:
Prof. Pedro Clarindo da Silva Neto
Login
Desenvolvimento de Aplicações Web
Agora que já sabemos conectar ao banco,
adapte o servlet de login feito no capítulo
passado para que ele verifique se o usuário e
a senha estão realmente corretas, de acordo
com os dados cadastros no banco.
Prof. Pedro Clarindo da Silva Neto
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

PDF
Daw slide 08
PDF
Daw slide 06
PDF
INTEROPERABILIDADE ENTRE SISTEMAS DE INFORMAÇÃO HETEROGÊNEOS NA PRÁTICA – NO ...
PPTX
Slide 01 introdução ao php e ao code igniter
PPTX
Slide 02 introdução ao code igniter, utilização do bootstrap
PPTX
Slide 06 adicionando produtos e mostrando produto selecionado
PDF
Aplicacoes Web Com AJAX
ODP
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel
Daw slide 08
Daw slide 06
INTEROPERABILIDADE ENTRE SISTEMAS DE INFORMAÇÃO HETEROGÊNEOS NA PRÁTICA – NO ...
Slide 01 introdução ao php e ao code igniter
Slide 02 introdução ao code igniter, utilização do bootstrap
Slide 06 adicionando produtos e mostrando produto selecionado
Aplicacoes Web Com AJAX
Minicurso Ajax - 5. Semana de Informática PUC Minas São Gabriel

Mais procurados (7)

PPTX
Slide 05 implementando o login , logout e flash data
PDF
Javascript - Biblioteca Jquery
PPTX
Treinamento Básico Sobre ASP.NET MVC
ODP
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphere
DOC
Como Instalar O WordPress
PDF
Curso de Java (Parte 6) Introdução a Front-end
Slide 05 implementando o login , logout e flash data
Javascript - Biblioteca Jquery
Treinamento Básico Sobre ASP.NET MVC
Criando um Web Service Restful com Jersey, Eclipse, JBoss, Tomcat, WebSphere
Como Instalar O WordPress
Curso de Java (Parte 6) Introdução a Front-end
Anúncio

Semelhante a Daw slide 07 (20)

PDF
Tutorial +login+mvc
PPTX
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
PDF
Persistência com JPA usando o NetBeans 7
PPTX
Banco de Dados MySQL + NetBeans Java + Interface Grafica
PDF
Acesso a banco de dados com JDBC
PDF
Http Servlet
PDF
Apostilava Java EE 5 - 2007
PDF
POO - 21 - Java e Banco de Dados
PPTX
Java web
PDF
Bancos de dados e jdbc java para desenvolvimento web
ODP
PDF
Java - Introdução a banco de dados
PDF
Apostila: Curso de java III
PPT
Apresentação Java Web Si Ufc Quixadá
PDF
3way curso-formacao-java-web-completo
PDF
Artigoajax
PDF
Aula 9 php (banco de dados)
PDF
Java Web - MVC básico com JSP e Servlets
PDF
Programação para Web II: JavaServer Pages
Tutorial +login+mvc
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
Persistência com JPA usando o NetBeans 7
Banco de Dados MySQL + NetBeans Java + Interface Grafica
Acesso a banco de dados com JDBC
Http Servlet
Apostilava Java EE 5 - 2007
POO - 21 - Java e Banco de Dados
Java web
Bancos de dados e jdbc java para desenvolvimento web
Java - Introdução a banco de dados
Apostila: Curso de java III
Apresentação Java Web Si Ufc Quixadá
3way curso-formacao-java-web-completo
Artigoajax
Aula 9 php (banco de dados)
Java Web - MVC básico com JSP e Servlets
Programação para Web II: JavaServer Pages
Anúncio

Mais de Pedro Neto (20)

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

Último (20)

PPTX
NR11 - Treinamento Direcao Defensiva - 2023.pptx
PDF
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
PPTX
Aula 13 - Tópico Frasal - Argumentação.pptx
PDF
Fiqh da adoração (islamismo)
PPTX
O Romantismo e a identidade brasileira..
PDF
A Revolução Francesa de 1789 slides história
PDF
ESPELHOS DA ALMA A PSICOLOGIA POR TRÁS DOS CONTOS DE FADAS.pdf
PDF
Uma Introdução às Ciências do Alcorão (Islam)
PDF
Organizador Curricular da Educação em Tempo Integral.pdf
PPTX
Realismo e Naturalismo: Aluísio Azevedo.
PPTX
HISTÓRIA DO BRASIL - anos de Democracia.pptx
PDF
A relação entre funções executivas e desempenho acadêmico em crianças com Tra...
PPTX
Ocupação e transformação dos territórios.pptx
PPTX
GUERRAFRIA.pptdddddddddddddddddddddddddx
PPTX
INDÚSTRIA_ Histórico da industrialização.pptx
PPTX
disciplulado curso preparatorio para novos
PPTX
ACIDOS NUCLEICOS - REPLICAÇÃO DO DNA - E.M.
PDF
FLUXOGRAMA CLASSE lll - Acesso estritamente proximal.pdf
PPT
HISTOLOGIA VEGETAL - tecidos vegetais.ppt
PDF
Ementa 2 semestre PEI Orientação de estudo
NR11 - Treinamento Direcao Defensiva - 2023.pptx
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
Aula 13 - Tópico Frasal - Argumentação.pptx
Fiqh da adoração (islamismo)
O Romantismo e a identidade brasileira..
A Revolução Francesa de 1789 slides história
ESPELHOS DA ALMA A PSICOLOGIA POR TRÁS DOS CONTOS DE FADAS.pdf
Uma Introdução às Ciências do Alcorão (Islam)
Organizador Curricular da Educação em Tempo Integral.pdf
Realismo e Naturalismo: Aluísio Azevedo.
HISTÓRIA DO BRASIL - anos de Democracia.pptx
A relação entre funções executivas e desempenho acadêmico em crianças com Tra...
Ocupação e transformação dos territórios.pptx
GUERRAFRIA.pptdddddddddddddddddddddddddx
INDÚSTRIA_ Histórico da industrialização.pptx
disciplulado curso preparatorio para novos
ACIDOS NUCLEICOS - REPLICAÇÃO DO DNA - E.M.
FLUXOGRAMA CLASSE lll - Acesso estritamente proximal.pdf
HISTOLOGIA VEGETAL - tecidos vegetais.ppt
Ementa 2 semestre PEI Orientação de estudo

Daw slide 07

  • 1. Desenvolvimento de Aplicações Web Prof. Pedro Clarindo da Silva Neto Parte VII
  • 2. Prof. Pedro Clarindo da Silva Neto Servlet acessando banco de dados Antes de conectarmos um servlet a um banco de dados, é necessário que este banco seja criado. O NetBeans possui uma ferramenta para gerenciar bancos de dados que permite, por exemplo, criar um banco, criar suas tabelas, realizar consultas e inserir dados nas tabelas do banco. Além disso, as instalações padrões já vêm com um banco de dados chamado “Java DB” previamente instalado. Neste material, iremos utilizar o banco “Java DB”, mas a lógica dos programas é a mesma caso fosse utilizado outro banco, como MySQL por exemplo. É provável que o “Java DB” banco já esteja instalado e configurado em seu NetBeans. Desenvolvimento de Aplicações Web
  • 3. Prof. Pedro Clarindo da Silva Neto Servlet acessando banco de dados Para conferir, clique na aba “Serviços”, expanda a opção “Banco de Dados”, clique com o botão direito em “Java DB” e crie um novo banco de dados. Desenvolvimento de Aplicações Web Em seguida, escolha um nome para o banco (por exemplo, “webmail”), um login e uma senha, que serão necessários para a conexão com o banco. O banco criado irá aparecer na aba “Serviços”.
  • 4. Prof. Pedro Clarindo da Silva Neto Servlet acessando banco de dados Clique com o botão direito no banco, escolha a opção “Conectar ao banco” e depois expanda-o. Repare que agora é possível visualizar as tabelas do banco (por enquanto nenhuma tabela foi criada). Para criar uma tabela, clique com o botão direito em “Tabelas” e escolha a opção “Criar Tabela”. Desenvolvimento de Aplicações Web
  • 5. Prof. Pedro Clarindo da Silva Neto Servlet acessando banco de dados O banco de dados para nosso webmail irá armazenar o nome, o login, a senha e um email alternativo de cada usuário (o email alternativo será necessário para que o usuário possa recuperar sua senha). A Figura a seguir mostra a criação destes campos na tabela “usuário”. Desenvolvimento de Aplicações Web
  • 6. Prof. Pedro Clarindo da Silva Neto Servlet acessando banco de dados Desenvolvimento de Aplicações Web Repare que o login é chave primária da tabela (não pode haver dois usuários com mesmo login, nem usuário sem login). Após a criação da tabela, se clicarmos com o botão direito sobre ela na aba “Serviços”,podemos escolher a opção “Visualizar Dados”. Esta opção nos mostra os dados já inseridos e permite inserirmos dados na tabela.
  • 7. Conectando o servlet a um banco de dados Desenvolvimento de Aplicações Web Para conectarmos a um banco de dados em Java, precisamos importar a biblioteca java.sql.* e inserir o trecho de código a seguir no local onde queremos fazer a conexão: Prof. Pedro Clarindo da Silva Neto
  • 8. Cadastro de usuário no banco Desenvolvimento de Aplicações Web Para que os usuários possam se inscrever em nosso webmail, devemos criar uma página de cadastro e apontar para ela na página inicial. A página deve conter um formulário onde o usuário preenche os dados necessários de acordo com o banco criado (em nosso caso, os dados são “nome”, “login”, “senha” e “email”). É importante que o usuário possa inserir valores que caibam nos campos do banco de dados. Para isso, utilize o atributo “maxlength” da tag <input /> para definir este número máximo de caracteres de acordo com o tamanho dos campos criados na tabela. Prof. Pedro Clarindo da Silva Neto
  • 9. Cadastro de usuário no banco Desenvolvimento de Aplicações Web O servlet de cadastro que irá receber os valores preenchidos pelo usuário deve se conectar ao banco de dados e enviar um comando SQL referente a uma inserção, como a seguir: Prof. Pedro Clarindo da Silva Neto INSERT INTO usuario VALUES (‘Pedro Clarindo da Silva Neto’, ‘tuxcuiabano’, ‘123’, ‘pedro.neto@cba.ifmt.edu.br’)
  • 10. Cadastro de usuário no banco Desenvolvimento de Aplicações Web Para criarmos uma string em Java com este comando, precisamos recuperar os valores preenchidos pelo usuário no formulário. O código em Java deve ser semelhante ao trecho a seguir: Prof. Pedro Clarindo da Silva Neto
  • 11. Cadastro de usuário no banco Desenvolvimento de Aplicações Web Para criarmos uma string em Java com este comando, precisamos recuperar os valores preenchidos pelo usuário no formulário. O código em Java deve ser semelhante ao trecho a seguir: Prof. Pedro Clarindo da Silva Neto
  • 12. Cadastro de usuário no banco Desenvolvimento de Aplicações Web Repare que os parênteses e as aspas simples do comando SQL devem aparecer na string resultante. Após adaptar o código ao seu projeto, execute-o e teste se os usuários vão aparecendo no banco na medida em que forem sendo criados através do site. Prof. Pedro Clarindo da Silva Neto
  • 13. Cadastro de usuário no banco Desenvolvimento de Aplicações Web Para ver os dados é só ir na aba “Serviços", clicar com o botão direito na tabela “usuario" e escolher a opção “Exibir Dados”. Abrirá uma nova aba, mostrando os dados gravados na tabela. Prof. Pedro Clarindo da Silva Neto
  • 14. Login Desenvolvimento de Aplicações Web Após inserir alguns usuários no banco, podemos retomar nosso servlet de login criado no capítulo passado. O site de login envia ao servlet os valores de “login” e “senha” preenchidos pelo usuário. Devemos consultar o banco para verificar se o usuário existe e, neste caso, se sua senha está correta. O servlet deve se conectar ao banco de dados e enviar um comando SQL referente a uma consulta, como a seguir: Prof. Pedro Clarindo da Silva Neto SELECT nome, senha FROM usuario WHERE login = ‘tuxcuiabano’
  • 15. Login Desenvolvimento de Aplicações Web Para realizarmos esta consulta em Java, precisamos de um código semelhante ao trecho a seguir: Prof. Pedro Clarindo da Silva Neto O objeto do tipo “ResultSet” contém o conjunto de linhas resultantes de uma consulta ao banco. Para iterarmos entre as linhas do conjunto de resultados, utilizamos o método “resultados.next( )”.
  • 16. Login Desenvolvimento de Aplicações Web O trecho de código a seguir, por exemplo, imprimiria o nome de todos os usuários retornados pela consulta acima: Prof. Pedro Clarindo da Silva Neto Repare que “nome”, neste caso, se refere a uma coluna presente no conjunto de resultados retornado por nossa consulta. Entretanto, sabemos que o conjunto de resultados, em nosso caso, deverá conter zero ou um elemento (já que o campo “login” é chave primária de nossa tabela).
  • 17. Login Desenvolvimento de Aplicações Web Portanto, ao invés de iterar entre os usuários retornados, precisa- mos apenas verificar se algum usuário foi encontrado. O esqueleto do código ficaria assim: Prof. Pedro Clarindo da Silva Neto
  • 18. Login Desenvolvimento de Aplicações Web Agora que já sabemos conectar ao banco, adapte o servlet de login feito no capítulo passado para que ele verifique se o usuário e a senha estão realmente corretas, de acordo com os dados cadastros no banco. Prof. Pedro Clarindo da Silva Neto
  • 19. 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