7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
1/25
Aplicao em JSP e Javabeans utilizando Banco deDados
Publicado porFlavio R. Bianchiem 02/10/2011 - 312.997 visualizaes
comentrios: 39
Para saber os conceitos bsicos de JSP, recomendamosesta leituraantes de ler este tutorial.
Tutorial: Aplicao em JSP e Javabeans utilizando Bando de Dados.Autor: Rodrigo Afonso Perenha.
Bom, vamos desenvolver um aplicao com JSP e Javabeans utilizando o Bando de Dados MySQL,
com as opes de cadastrar, alterar, consultar, excluir e listar passo a passo. Mas antes vamos passar
por alguns conceitos bsicos e importantes.
1.Escolhendo e configurando o Bando de Dados
Primeiramente voc precisa escolher o banco de dados e como exemplo vamos utilizar o MySQL.
Caso voc no o tenha, faa o download no sitehttp://dev.mysql.com/downloads, muito simples
de instalar e de usar.
Aps instalado, para executar o MySQL utilize o executvel WinMySQLAdmin.exe localizado na
pasta C:\mysql\bin, em seguida aparecer o icone de semaforo na barra de tarefas prximo ao
relgio.Aps instalado e funcionando necessrio configura-lo, para isso, digite para Host Name
?localhost?e para User Name e Password ?root?, para rodar na mquina local.
Em seguida necessrio criar a base de dados e a tabela, voc pode utilizar qualquer programa de
manipulao, vamos utilizar o MySQL Control Center, disponvel tambm no site do Mysql
http://dev.mysql.com/downloads/other/mysqlcc.html.
Como exemplo crie uma base de dados com o nome ?teste? e em seguida vamos criar uma tabela
chamada pessoa com as colunas nome, idade e sexo.
Agora estamos prontos pra utilizar nossa base de dados.
2.Configurando o servidor para rodar o JSP
JSP (Java Server Pages) so cdigos que quando combinados com tags HTML produzem pginas
dinmicas, que so processadas pelo servidor.
Como servidor, podemos utilizar o Jakarta-Tomcat que pode ser encontrado no site
http://jakarta.apache.org/tomcat/ou o Jboss com Tomcat encontrado no site
http://www.jboss.org/downloads/index . Caso no tiver, basta instal-lo.
Ento, o primero passo configurar o servidor para podermos executar essas pginas dinmicas.
Caso tenha escolhido o Tomcat, necessrio inicia-lo executando o arquivo C:\Tomcat
5.0\bin\startup.bat, onde abrir uma janela mostrando a inicializao, demora um pouco, mas depois
voc j pode executar seus arquivos JSP, para isso grave seus arquivos JSP dentro do caminho
C:\Tomcat 5.0\webapps\ROOT\ , e execute os mesmos atravs do browser digitando o caminhohttp://localhost:8080/ , por exemplo, caso crie um arquivo teste.jsp, o mesmo seria gravado no
http://javafree.uol.com.br/artigo/10956/Aplicacao-em-JSP-e-Javabeans-utilizando-Banco-de-Dados.htmlhttp://javafree.uol.com.br/artigo/10956/Aplicacao-em-JSP-e-Javabeans-utilizando-Banco-de-Dados.htmlhttp://javafree.uol.com.br/viewprofile.jbb?u=1847http://javafree.uol.com.br/viewprofile.jbb?u=1847http://javafree.uol.com.br/viewprofile.jbb?u=1847http://javafree.uol.com.br/topic-10956-Aplicacao-em-JSP-e-Javabeans-utilizando-Banco-de-Dados.htmlhttp://javafree.uol.com.br/topic-10956-Aplicacao-em-JSP-e-Javabeans-utilizando-Banco-de-Dados.htmlhttp://javafree.uol.com.br/artigo/868717/JSP-Java-Server-Pages.htmlhttp://javafree.uol.com.br/artigo/868717/JSP-Java-Server-Pages.htmlhttp://javafree.uol.com.br/artigo/868717/JSP-Java-Server-Pages.htmlhttp://dev.mysql.com/downloadshttp://dev.mysql.com/downloadshttp://dev.mysql.com/downloadshttp://dev.mysql.com/downloads/other/mysqlcc.htmlhttp://dev.mysql.com/downloads/other/mysqlcc.htmlhttp://jakarta.apache.org/tomcat/http://www.jboss.org/downloads/indexhttp://www.jboss.org/downloads/indexhttp://www.jboss.org/downloads/indexhttp://jakarta.apache.org/tomcat/http://dev.mysql.com/downloads/other/mysqlcc.htmlhttp://dev.mysql.com/downloadshttp://javafree.uol.com.br/artigo/868717/JSP-Java-Server-Pages.htmlhttp://javafree.uol.com.br/topic-10956-Aplicacao-em-JSP-e-Javabeans-utilizando-Banco-de-Dados.htmlhttp://javafree.uol.com.br/viewprofile.jbb?u=1847http://javafree.uol.com.br/artigo/10956/Aplicacao-em-JSP-e-Javabeans-utilizando-Banco-de-Dados.htmlhttp://javafree.uol.com.br/artigo/10956/Aplicacao-em-JSP-e-Javabeans-utilizando-Banco-de-Dados.html7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
2/25
caminho C:\Tomcat 5.0\webapps\ROOT\teste.jsp e depois seria executado no browser atravs do
endereo http://localhost:8080/teste.jsp, e quando quiser encerrar o Tomcat execute o arquivo
C:\Tomcat 5.0\bin\shutdown.bat.
Caso tenha escolhido o Jboss, bem parecido com o Tomcat, pois o Jboss tem o Tomcat integrado e
da mesma forma necessrio inicializar o servidor atravs do arquivo C:\jboss-3.0.8_tomcat-
4.1.24\bin\run.bat, ento cria uma pasta dentro do caminho C:\jboss-3.0.8_tomcat-4.1.24\server\default\deploy\ com a extenso .war. Por exemplo, caso queira criar uma pasta teste,
ficaria da seguinte forma, C:\jboss-3.0.8_tomcat-4.1.24\server\default\deploy\teste.war e aqui
dentro ficaro nossos arquivos JSP.
Vamos utilizar o Jboss para nossa implementao e vamos fazer um exemplo simples para testar o
servidor, crie a pasta teste.war e em seguida crie uma pgina simples e salve dentro da pasta
teste.war.
1. 2. 3. 4.5. 6. Teste JSP7. 8.9. 10.11.12.
7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
3/25
3. Acessando o MySQL atravs do JSP utilizando o servidor Jboss com Tomcat integrado.
Agora vamos testar a conexo com o Banco MySQL atravs do JSP. Inicialmente precisamos
baixar o driver do MySQL, que um arquivo .jar disponvel no site
http://dev.mysql.com/downloads/e copia-lo na pasta C:\jboss-3.0.8_tomcat-4.1.24\server\default\lib.
Vamos desenvolver uma pgina pra testar a conexo com o banco MySQL e salvar com o nome
testeConexao.jsp na pasta C:\jboss-3.0.8_tomcat-4.1.24\server\default\deploy\teste.war criada
anteriormente.
1. 2.
3.4. 5. Teste de Conexo6. 7.8. 9.10.25.26.
http://javafree.uol.com.br/artigo/10956/%20http:/dev.mysql.com/downloads/http://javafree.uol.com.br/artigo/10956/%20http:/dev.mysql.com/downloads/7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
4/25
7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
5/25
package testeBean;
public c lass TesteBean {
String txt = "";
public void setTexto(String texto){
txt = texto;
}
public String getTexto(){
return txt;
}
}
Ento dentro da pasta teste.war criamos uma pasta chamada WEB-INF, que onde sero
procurados todos os JavaBenas e dentro da pasta WEB-INF ser criada a pasta classes e a pasta lib.
Na pasta classes poderemos gravar os arquivos com extenso .class e na pasta lib podemos gravaros arquivos com extenso .jar. Sempre salve os Javabeans dentro de pacotes para evitar transtornos.
Vamos criar um arquivo .jar desse exemplo e salva-la como testeBean.jar na pasta lib, ficando da
seguitne maneira C:\jboss-3.0.8_tomcat-4.1.24\server\default\deploy\teste.war\WEB-
INF\lib\testeBean.jar ou caso preferir pode gravar o pacote testeBean todo dentro da pasta classes
C:\jboss-3.0.8_tomcat-4.1.24\server\default\deploy\teste.war\WEB-
INF\classes\testeBean\TesteBean.class.
Agora dentro da pasta teste.war iremos criar o arquivo JSP que ir chamar o Javabeans. Salve o
mesmo como testeBean.jsp.
1. 2. 3. 4.5. 6. 7. Teste Jsp8. 9.10.11.Teste JSP12.
A mensagem teste :13.14.
15.16.17.7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
6/25
Teste Jsp
Teste JSP
A mensagem teste :
O comando cria um objeto ?testeObj? da classe TesteBean. O comando atravs do objeto ?testeObj?
utiliza o setProperty para chamar o mtodo setTexto, que associa o property=?texto? ao setProperty
e chama o mtodo setTexto do Javabeans passando como parametro o valor ?Testando...?. Omesmo ocorre para o comando que chama o mtodo getTexto, imprimindo a varivel ?txt? do
Javabeans na tela.
Voc tambm pode utilizar o objeto criado para chamar os mtodos do Javabeans sem utilizar
getProperty, colocando o cdigo JSP entre , por exemplo poderiamos chamar o mtodo getTexto da
seguinte forma , utilizando o sinal de = para imprimir na tela, ou mandar imprimir utilizando o
cdigo , j que o mtodo getTexto() retorna uma string.
Ento inicia o servidor Jboss e executa no browser o endereo
http://localhost:8080/teste/testeBean.jsp. Caso imprimir a mensagem ?Testando...? na tela, a
chamada ao Javabeans ocorreu corretametne.
5. Utilizando JSP e Javabeans para acessar o MySQL
Agora vamos aperfeioar nosso exemplo de conexo com banco de dados, fazendo com que o
Javabeans faa a conexo e o JSP acesse o resultado atravs do mesmo.
Primeiramente vamos criar um JavaBeans para fazer a conexo, bem parecido com o JSP que
fizemos anteriormente.
1. package conexao;2.3. import java.sql.*;4.5. public class Conexao {6.7. public Connection con;8. public Statement stm;9. private String sit = "";10.11.
public Conexao() {12.
7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
7/25
13.try {14.15.Class.forName("org.gjt.mm.mysql.Driver");16.con = DriverManager.getConnection("jdbc:mysql://localhost:3306/teste","root","root");17.stm = con.createStatement();18.19.sit = "Conexo efetuada com sucesso";20.21.22.} catch (Exception e) {23.sit = "no foi possvel conectar ao banco" + e.getMessage();24.}25.}26.27.public String getSituacao(){28.return sit;29.}30.}
package conexao;
import java.sql.*;
public c lass Conexao {
public Connection con;
public Statement stm;
private String sit = "";
public Conexao() {
try {
Class.forName("org.gjt.mm.mysql.Driver");
Ento da mesma forma mostrada anteriormente salve o Javabeans como Conexao.jar dentro da
pasta teste.war\WEB-INF\lib e crie um arquivo JSP e salve como conexao.jsp dentro da pasta
teste.war.
1. 2. 3.
4.5. 6. 7. Teste Conexo8. 9.
10.
7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
8/25
11.Teste Conexo12.
A situao do banco :13.14.
15.16.7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
9/25
11.private int idade = 0;12.private String sexo = null;13.14.public Conexao() {15.16.try {17.18.Class.forName("org.gjt.mm.mysql.Driver");19.con =20.DriverManager.getConnection(21."jdbc:mysql://localhost:3306/teste",22."root",23."root");24.stm = con.createStatement();25.26.} catch (Exception e) {27.System.out.println("no foi possvel conectar ao banco" + e.getMessage());28.}29.}30.31.public void setNome(String nome){32.this.nome = nome;33.}34.35.public void setIdade(int idade){36.this.idade = idade;37.}38.39.public void setSexo(String sexo){40.this.sexo = sexo;41.}42.43.public String getNome(){44.return nome;45.}46.47.public int getIdade(){48.
return idade;49.}
50.51.public String getSexo(){52.return sexo;53.}54.55.public void inserirDados(){56.57.try {58.String query = "insert into pessoa(nome,idade,sexo)
values(\""+nome+"\","+idade+",\""+sexo+"\")";59.stm.executeUpdate(query);
7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
10/25
60.61.}catch (SQLException e){System.out.println("Erro na insero:" + e.getMessage());}62.63.}64.65.public boolean alterarDados(){66.67.boolean testa = false;68.69.try {70.String query = "update pessoa "+71."set idade = " + idade + ", "+72."sexo = \"" + sexo + "\" " +73."where nome = \"" + nome + "\"";74.75.int linhas = stm.executeUpdate(query);76.77.if (linhas > 0)78.testa = true;79.else80.testa = false;81.82.}catch (SQLException e){System.out.println("Erro na insero:" + e.getMessage());}83.84.return testa;85.}86.87.public boolean excluirDados(){88.89.boolean testa = false;90.91.try {92.String query = "delete from pessoa where nome='" + nome+"'";93.int linhas = stm.executeUpdate(query);94.95.if (linhas > 0)96.testa = true;97.
else98.testa = false;
99.100. }catch (SQLException e){System.out.println("Erro na excluso:" +
e.getMessage());}
101.102. return testa;103. }104.105. public boolean consultarDados(){106.107. boolean testa = false;108.
7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
11/25
109. try {110. String query = "select * from pessoa where nome='" + nome+"'";111. res = stm.executeQuery(query);112.113. if (res.next()){testa = true;}114. else{testa = false;}115.116. }catch (SQLException e){System.out.println("Erro na insero:" + e.getMessage());}117.118. return testa;119. }120.121. public void setConsulta() {122.123. try {124. res = stm.executeQuery("select * from pessoa");125. }126. catch (SQLException e){127. e.printStackTrace();128. }129.130. }131.132. public ResultSet getResultado() {133. return res;134. }135. }
package conexao;
import java.sql.*;
public c lass Conexao {
public Connection con;
public Statement stm;
public ResultSet res = null;
private String nome = null;
private int idade = 0;
private String sexo = null;
public Conexao() {
Onde o mtodo construtor ser responsvel pela conexo ao banco, ou seja, toda vez que for
instanciado um objeto dessa classe, o construtor ser chamado primeiro e o banco ser conectado.
Foram criadas trs variveis privadas nome, idade e sexo, que sero acessadas atravs dos mtodos
get e set.
O mtodo inserirDados() responsvel pela insero no banco, onde ser passado como valores as
trs variveis privadas.O mtodo alterarDados() responsvel por atualizar os dados levando em considerao a varivel
7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
12/25
nome, testando se foi encontrado algum registro, retornando assim true ou false.
O mtodo excluirDados(), da mesma forma que o alterarDados(), exclui os dados levando em
considerao a varivel nome, testando se encontrou algum registro.
O mtodo consultaDados() apenas consulta os dados do banco, tambm testando se encontrou
algum registro.
O mtodo setConsulta() executa uma consulta comum. E o mtodo getResultado() retorna o objetoResultSet contendo todos os registros do banco.
pessoa.jsp
Agora criaremos um arquivo JSP principal, contendo os campos e botes para insero, consulta,
alterao e excluso. Chamaremos de pessoa.jsp.
1. 2.
3.4. 5. 6. Tabela Pessoa7.8.9. 10.11.function enviar(par){12.13.if (par == 'cadastrar'){14.15.if (document.cadastro.nomeField.value == ''){16.document.cadastro.statusField.value = 'Preencha o campo nome';17.}else if (document.cadastro.idadeField.value == ''){18.document.cadastro.statusField.value = 'Preencha o campo idade';19.}else if (document.cadastro.sexoField.value == ''){20.document.cadastro.statusField.value = 'Escolha o sexo da pessoa';21.
}else {22.document.cadastro.action='cadastrar.jsp';
23.document.cadastro.submit();24.}25.26.} else if (par == 'consultar'){27.28.if (document.cadastro.nomeField.value == ''){29.document.cadastro.statusField.value = 'Preencha o campo nome';30.}else {31.document.cadastro.action='consultar.jsp';32.document.cadastro.submit();33.}
7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
13/25
34.35.} else if (par == 'alterar'){36.37.if (document.cadastro.nomeField.value == ''){38.document.cadastro.statusField.value = 'Preencha o campo nome';39.}else if (document.cadastro.idadeField.value == ''){40.document.cadastro.statusField.value = 'Preencha o campo idade';41.}else if (document.cadastro.sexoField.value == ''){42.document.cadastro.statusField.value = 'Escolha o sexo da pessoa';43.}else {44.document.cadastro.action='alterar.jsp';45.document.cadastro.submit();46.}47.} else if (par == 'excluir'){48.49.if (document.cadastro.nomeField.value == ''){50.document.cadastro.statusField.value = 'Preencha o campo nome';51.}else {52.document.cadastro.action='excluir.jsp';53.document.cadastro.submit();54.}55.} else if (par == 'listar'){56.document.cadastro.action='listar.jsp';57.document.cadastro.submit();58.}59.}60.61.62.63.64.65.70.71.
72.
73.79.80.81.82.83.
7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
14/25
84.85.
Cadastro
pessoa
86.87.88.89.
Nome :90.
91.
Idade :92.
93.Sexo:94.95.
96.97.98.
99.100. 101. 102.103. 104. 105. 106. 107. 108.
109.Status:110.
111.
112. 113. 114. 115. 116.117.
7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
15/25
7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
16/25
18.19.Nome20.21.22.Idade23.24.25.Sexo26.27.28.29.30.47.48.49.50.51.
52.
53.54.55.56.57.58.
7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
17/25
64.%>65.66.
67.68.69.
70.Status:71.
72.
73.74.75.7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
18/25
Ento quando pressionamos o boto consultar, ser chamado a pgina consultar.jsp, onde ser
necessrio que o campo nome esteja preenchido.
1. Consulta2. 3. 4.5. 6. 7. 22.23.24.
Consulta
7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
19/25
Aqui ser recuperado o contedo do campo nome e atribuido varivel nome atravs do mtodo
setNome() no Javabeans. Ento chamado o mtodo consultarDados(), que do tipo booleano,
consultando o registro que contm o nome e verificando se o mesmo existe, retornando true ou
false.
Caso exista, ento chamado o mtodo getResultado() para recuperar as informaes do registro e
passa-las como parametros para pessoa.jsp atravs das variveis nome, idade, sexo e status com amensagem ?Consulta efetuada com sucesso?, atravs do response.sendRedirect, para serem
mostradas na tela de pessoa.jsp.
Caso no exista, ser passada apenas a varivel status com a mensagem ?Registro no encontrado?.
alterar.jsp
A pgina alterar.jsp normalmente chamada aps efetuada a consulta de algum nome, onde todos
os campos precisam estar preenchidos.
1. 2.
3. 4. 5. 6. Alterar7. 8. 9.10.11.12.13.
14.
15.
16.
Tabela Pessoa
17.18.19.20.21.Nome22.23.24.Idade25.26.27.Sexo28.
7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
20/25
29.30.31.32.44.45.46.47.48.49.50.51.52.53.54.55.64.
65.
66.67.
68.Status:69.
70.
71.72.73.7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
21/25
7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
22/25
19.20.21.Idade22.23.24.Sexo25.26.27.28.29.41.42.43.44.45.46.47.48.49.50.51.52.63.64.
65.66.
7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
23/25
67.
68.Status:69.
70.
71.72.73.7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
24/25
7/31/2019 Aplicao em JSP e Javabeans utilizando Banco de Dados
25/25
Top Related