Login Registre-se

Home > Artigos > Ambiente WEB >

Aplicação em JSP e Javabeans utilizando Banco de Dados

Publicado por Flavio R. Bianchi em 12/01/2010 - 179.643 visualizações



comentários: 39

Para saber os conceitos básicos de JSP, recomendamos esta leitura antes de ler este tutorial.

Tutorial: Aplicação em JSP e Javabeans utilizando Bando de Dados.
Autor: Rodrigo Afonso Perenha.

Bom, vamos desenvolver um aplicação com JSP e Javabeans utilizando o Bando de Dados MySQL, com as opções de cadastrar, alterar, consultar, excluir e listar passo a passo. Mas antes vamos passar por alguns conceitos básicos 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ê não o tenha, faça o download no site http://dev.mysql.com/downloads, é muito simples de instalar e de usar.
Após instalado, para executar o MySQL utilize o executável WinMySQLAdmin.exe localizado na pasta C:\mysql\bin, em seguida aparecerá o icone de semaforo na barra de tarefas próximo ao relógio.
Após instalado e funcionando é necessário configura-lo, para isso, digite para Host Name ?localhost?e para User Name e Password ?root?, para rodar na máquina local.
Em seguida é necessário criar a base de dados e a tabela, você pode utilizar qualquer programa de manipulação, vamos utilizar o MySQL Control Center, disponível também 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) são códigos que quando combinados com tags HTML produzem páginas dinâmicas, que são 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 não tiver, basta instalá-lo.
Então, o primero passo é configurar o servidor para podermos executar essas páginas dinâmicas.
Caso tenha escolhido o Tomcat, é necessário inicia-lo executando o arquivo C:\Tomcat 5.0\bin\startup.bat, onde abrirá uma janela mostrando a inicialização, 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 através do browser digitando o caminho http://localhost:8080/ , por exemplo, caso crie um arquivo teste.jsp, o mesmo seria gravado no caminho C:\Tomcat 5.0\webapps\ROOT\teste.jsp e depois seria executado no browser através do endereço 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 é necessário inicializar o servidor através do arquivo C:\jboss-3.0.8_tomcat-4.1.24\bin\run.bat, então cria uma pasta dentro do caminho C:\jboss-3.0.8_tomcat-4.1.24\server\default\deploy\ com a extensão .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 ficarão nossos arquivos JSP.
Vamos utilizar o Jboss para nossa implementação e vamos fazer um exemplo simples para testar o servidor, crie a pasta teste.war e em seguida crie uma página simples e salve dentro da pasta teste.war.


Então inicie o servidor e em seguida digite o endereço http://localhost:8080/teste/teste.jsp no browser. Aqui a pasta teste não precisa vir acompanhado da extensão .war.
Note que os códigos JSP estão entre <% e %>, e se tudo der certo você verá a mensagem do código JSP na tela.


Para encerrar o Jboss execute o C:\jboss-3.0.8_tomcat-4.1.24\bin\shutdown.bat
Caso você esteja tendo algum problema tente encerrar o jboss ou tomcat e inicializa-lo novamente.

3. Acessando o MySQL através do JSP utilizando o servidor Jboss com Tomcat integrado.

Agora vamos testar a conexão com o Banco MySQL através do JSP. Inicialmente precisamos baixar o driver do MySQL, que é um arquivo .jar disponível 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 página pra testar a conexão 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.



Então inicia o MySQL, em seguida inicia o servidor Jboss e executa no browser o endereço http://localhost:8080/teste/testeConexao.jsp. Caso funcione aparecerá na tela a mensagem ?Conexão efetuada com sucesso?.
Caso queira utilizar outro banco, como Postgres, SQLServer, Oracle ou FireBird, consulte o tutorial Mini-tutorial sobre conexão com BD.


4. Utilizando JSP para acessar Javabeans

Javabeans nada mais é do que arquivos Java acessados através de páginas dinâmicas, ou seja, através do JSP. Nosso propósito será acessar um Javabeans para fazer toda a manipulação do banco, mas antes vamos testar um exemplo simples.
Inicialmente vamos fazer uma aplicação em java seguindo algumas convenções, ?get? para obter dados e ?set? para atribuir dados. Para isso podemos utilizar qualquer editor, inclusive o bloco de notas.



Então dentro da pasta teste.war criamos uma pasta chamada WEB-INF, que é onde serão 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 extensão .class e na pasta lib podemos gravar os arquivos com extensão .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.



O comando cria um objeto ?testeObj? da classe TesteBean. O comando através do objeto ?testeObj? utiliza o setProperty para chamar o método setTexto, que associa o property=?texto? ao setProperty e chama o método setTexto do Javabeans passando como parametro o valor ?Testando...?. O mesmo ocorre para o comando que chama o método getTexto, imprimindo a variável ?txt? do Javabeans na tela.
Você também pode utilizar o objeto criado para chamar os métodos do Javabeans sem utilizar getProperty, colocando o código JSP entre <% e %>, por exemplo poderiamos chamar o método getTexto da seguinte forma <%=TesteObj.getTexto()%>, utilizando o sinal de = para imprimir na tela, ou mandar imprimir utilizando o código <%out.print(TesteObj.getTexto())%>, já que o método getTexto() retorna uma string.
Então inicia o servidor Jboss e executa no browser o endereço 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 aperfeiçoar nosso exemplo de conexão com banco de dados, fazendo com que o Javabeans faça a conexão e o JSP acesse o resultado através do mesmo.
Primeiramente vamos criar um JavaBeans para fazer a conexão, bem parecido com o JSP que fizemos anteriormente.



Então 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.




Então inicia o Jboss e executa no browser o endereço http://localhost:8080/teste/conexao.jsp. Caso funcione, estamos prontos para começar desenvolver a aplicação em si.


6. Desenvolvimento da aplicação


Agora você poderá implementar os códigos seguintes. Vamos fazer uma breve explicação sobre cada um, cabendo a você analisar o código para entender suas funções.


Conexao.java

Vamos aperfeiçoar ainda mais o Javabeans anterior fazendo com que ele seja responsável por toda manipulação no banco de dados e salva-lo como Conexao.jar na pasta lib.




Onde o método construtor será responsável pela conexão 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 três variáveis privadas nome, idade e sexo, que serão acessadas através dos métodos get e set.
O método inserirDados() é responsável pela inserção no banco, onde será passado como valores as três variáveis privadas.
O método alterarDados() é responsável por atualizar os dados levando em consideração a variável nome, testando se foi encontrado algum registro, retornando assim true ou false.
O método excluirDados(), da mesma forma que o alterarDados(), exclui os dados levando em consideração a variável nome, testando se encontrou algum registro.
O método consultaDados() apenas consulta os dados do banco, também testando se encontrou algum registro.
O método setConsulta() executa uma consulta comum. E o método getResultado() retorna o objeto ResultSet contendo todos os registros do banco.


pessoa.jsp

Agora criaremos um arquivo JSP principal, contendo os campos e botões para inserção, consulta, alteração e exclusão. Chamaremos de pessoa.jsp.



Essa página é uma tela simples com alguns textFields e botões. Os botões utilizam o método onclick para chamar a função enviar(par) escrita em javascript, onde de acordo com cada botão pressionado, é chamado uma página diferente, e aproveitamos também para testar se o campos estão vazios de acordo com cada solicitação.
Note que há um trecho JSP <% String nome = request.getParameter("nome"); %>, que será usado para recuperar os parametros de outras páginas, onde serão melhor visiveis mais a frente.


cadastrar.jsp


Quando pressionamos o botão cadastrar, é necessário que todos os campos em pessoa.jsp estejam preenchidos, então é chamado a página cadastrar.jsp.






Aqui será recuperado o conteudo dos campos de pessoa.jsp, já atribuindo esses valores às variáveis do Javabeans e em seguida é chamado o método inserirDados(), que será responsável por fazer a inserção no banco com as variáveis atribuidas anteriormente.
Depois é feito um teste se a variável nome é igual a alguma no banco, caso sim retorna para a página pessoa.jsp junto com a variável status que será usada em pessoa.jsp para mostrar a mensagem ?Registro já existente? no campo statusField.
Caso não seja igual a nenhuma, então chama o método getResultado() e atribui a variavel temp do tipo ResultSet, que conterá todos os registros do banco e através do método temp.getString() mostramos em uma tabela todos os registros do banco, sendo possível visualizar o cadastro efetuado.
Nesta página também há um botão para retornar à pagina principal e um campo para mostrar o status do cadastro.
Note que no inicio da página está esta sendo importando o pacote java.sql através do código <%import="java.sql.*"%>, pois o mesmo será necessário ao criar uma variável do tipo ResultSet.



consultar.jsp

A página consulta é utilizada para retornar na tela de pessoa.jsp todos os dados de um registro para uma posterior alteração ou exclusão.
Então quando pressionamos o botão consultar, será chamado a página consultar.jsp, onde será necessário que o campo nome esteja preenchido.



Aqui será recuperado o conteúdo do campo nome e atribuido à variável nome através do método setNome() no Javabeans. Então é chamado o método consultarDados(), que é do tipo booleano, consultando o registro que contém o nome e verificando se o mesmo existe, retornando true ou false.
Caso exista, então é chamado o método getResultado() para recuperar as informações do registro e passa-las como parametros para pessoa.jsp através das variáveis nome, idade, sexo e status com a mensagem ?Consulta efetuada com sucesso?, através do response.sendRedirect, para serem mostradas na tela de pessoa.jsp.
Caso não exista, será passada apenas a variável status com a mensagem ?Registro não encontrado?.


alterar.jsp

A página alterar.jsp é normalmente chamada após efetuada a consulta de algum nome, onde todos os campos precisam estar preenchidos.




Da mesma forma que em cadastrar.jsp, aqui serão recuperados todos os campos de pessoa.jsp e atribuido seus valores às variáveis do Javabeans e em seguida chamado o método alterarDados(), que é um método booleano que faz a alteração no banco e retorna true ou false.
Caso retorne true, a alteração foi efetuada com sucesso e então é mostrado em uma tabela todos os registros do banco, podendo visualizar o registro alterado.
Caso retorne false, será chamada a página pessoal.jsp passando a variável status para mostrar no campo statusField de pessoa.jsp a mensagem ?Registro não encontrado?.


excluir.jsp

Essa página também é chamada após uma consulta e será necessário que todos os campos estejam preenchidos.




A funcionalidade dessa página é identica à página alterar.jsp, mudando apenas que é invocado o método excluirDados() ao invés de alterarDados().
Caso a exclusão seja efetuada com sucesso, da mesma forma os dados serão mostrados em uma tabela sendo possível visualizar a ausência do registro excluido.

listar.jsp


Quando pressionamos o botão listar, é chamado a página listar.jsp.




Onde sua única funcionalidadde é mostrar em uma tabela todos registro do banco no momento, para uma possível verificação dos dados.


Feito isso, nossa aplicação está encerrada e pronta para rodar, e você está preparado para criar e praticar exemplos mais avançados.
Em breve estarei disponibilizando a mesma aplicação utilizando hibernate...

Por Rodrigo Perenha


Leia Também:

Aplicação em JSP e Javabeans utilizando Banco de Dados
http://javafree.uol.com.br/artigo/10956/Aplicacao-em-JSP-e-Javabeans-utilizando-Banco-de-Dados.html

Entendendo um pouco de Java Server Faces (JSF)
http://javafree.uol.com.br/artigo/871659/Entendendo-um-pouco-de-Java-Server-Faces-JSF.html

Estrutura de uma aplicação WEB.
http://javafree.uol.com.br/artigo/1407/Estrutura-de-uma-aplicacao-WEB.html

Exemplo de aplicação JSF usando o NetBeans 6.5 em 20 passos
http://javafree.uol.com.br/artigo/872082/Exemplo-de-aplicacao-JSF-usando-o-NetBeans-65-em-20-passos.html

Jakarta Struts
http://javafree.uol.com.br/artigo/1475/Jakarta-Struts.html

JSP - Java Server Pages
http://javafree.uol.com.br/artigo/868717/JSP-Java-Server-Pages.html


Servlets ? Domíne-os! (PARTE I)
http://javafree.uol.com.br/artigo/14283/Servlets-Domineos-PARTE-I.html