Anda di halaman 1dari 9

Acessando um Banco de Dados

Introduo
Agora que voc j est craque em JSP e j instalou seu servidor, vamos direto para a parte prtica! Neste tutorial vamos aprender a acessar um banco de dados. Para quem est acostumado com ASP ou ColdFusion, perceber que o JSP trata a conexo com a base de dados de uma forma um tanto diferente. Portanto tenha em mente que precisamos montar um sistema que, ao mesmo tempo, exiba formulrios de cadastro e pesquisa, e acesse o banco de dados. Temos ento uma pgina chamada Consulta.jsp e uma Incluir.jsp. Mas estas so as interfaces, uma serve para consultar registros e a outra para incluir registros na base de dados. Mas antes disso devemos criar o banco de dados em si e o objeto que o acessar, ou seja, um servlet bean chamado aod.class. Neste servlet estar todo o cdigo que consultar o banco de dados. Vamos por partes!

Configurando a base de dados

Para o nosso exemplo, voc precisar de um banco de dados como este acima. No precisa ser necessariamente um *.mdb do Microsoft Access. Voc pode usar a base de dados que quiser. Apenas crie uma tabela chamada Resultados e os campos ID, Nome e Email. Cadastre alguns registros manualmente para testarmos a consulta daqui a pouco.

Estabelecendo a conexo

Bom, depois de criar o banco de dados, voc precisar criar um vnculo com a ponte de dados ODBC, ou seja, voc precisa criar um DataSourceName (DSN). Note que na figura a tela do ODBC est em ingls. Isto se d pela utilizao do MDAC atualizado, que necessria principalmente para que o ODBC compreenda arquivos do Microsoft Access 2000. Procure a verso do MDAC mais atual para o seu sistema. Para criar o DSN, clique duas vezes no cone ODBC Data Sources (32bits) no Painel de Controle do Windows. A tela que aparecer ser semelhante a esta da figura acima. Clique em "Add.." ou "Adicionar..." para adicionar um novo DSN. Escolha o driver especfico para seu banco de dados. Na tela seguinte, preencha o campo "Nome da fonte de dados:" com um nome para a sua fonte de dados. No nosso exemplo estamos utilizando o nome "SIMPLES". Digite alguma coisa no campo "Descrio:" se voc quiser. Clique no boto "Selecionar..." para configurar o path para o banco de dados. Procure pelo arquivo opiniao.mdb no seu disco e clique em "OK". Por ltimo, clique em "Avanado..." e defina um usurio "1234" com a senha "1234". Pronto seu banco de dados est pronto e conectado!

Criando o objeto de acesso a dados

Neste cdigo acima, temos o grosso da programao Java. Para quem no conhece bem, assusta um pouco, mas no muito complicado. Basicamente este cdigo, ao ser chamado por um outro servlet que pode ser um JSP compilado -, cria um objeto que permite acesso a dados. Ou seja, com esse servlet podemos consultar e modificar os registros do banco de dados. No nosso exemplo, o objeto aod.class ao ser chamado em uma pgina JSP, cria a conexo com o banco de dados. Isso acontece na declarao do mtodo que tem o mesmo nome do objeto: public aod() { // cdigo } Este mtodo executado no momento que a classe invocada. Por ser um objeto abstrato, esta classe chamada de Bean. Logo aps a declarao do mtodo principal de conexo -, temos os mtodos de controle. Ou seja, so os responsveis pelo acesso e modificao das informaes obtidas no banco de dados. O JSP pode perfeitamente fazer uso das variveis do objeto, utilizando os mtodos apropriados. Mtodo para "pegar" o valor da varivel privada do objeto aod.class: public getEmail() { return email; } Mtodo para "configurar" o valor da varivel privada do objeto aod.class: public setEmail(String email) { this.email = email; } Para voc entender como esses mecanismos funcionam s lembrar que o servlet roda junto com o JSP que o importar. Por isso nosso objeto aod invocado por uma pgina JSP de consulta, por exemplo. E neste momento cria a conexo e torna todos os campos do banco de dados disponveis nas variveis do objeto. Mas voc deve estar se perguntando: "E isso acontece por acaso?". uma boa pergunta, mas lgico que no! Isso acontece pois as variveis do objeto tm o mesmo nome dos campos do banco de dados! E os campos do formulrio das pginas JSP tambm tero o mesmo nome! Este o truque do JSP! Por essa razo voc pode criar mtodos bem simples para acessar e manipular os campos do banco de dados. O mtodo que faz toda essa orquestra funcionar o fazTarefa(). O que esse mtodo faz: Executar alguma tarefa? o Sim: Tarefa 1 Pesquisar por nome. o Sim: Tarefa 2 Incluir registro. o No: Nenhuma Tarefa Limpa variveis.

Recapitulando, o servlet invocado pelo JSP. As variveis so definidas. O mtodo aod executado, criando a conexo com o banco de dados. Nesse exato momento, as variveis do objeto recebem os valores dos campos do banco de dados. A partir desse momento as informaes ficam disponveis nas variveis do objeto aod. Bom, da mesma forma que o servlet interage com os campos do banco de dados, o JSP tambm interage, passando variveis via POST ou GET. Vejamos o JSP para consultar o banco de dados.

Criando uma pgina para consultar dados

Veja que, esquecendo-se do HTML, a primeira instruo que aparece em Java, uma tag diretiva page, que tem o atributo import. Essa tag importa todas as classes do pacote simples. Portanto chamando tambm a classe aod. Depois de ser importada, a classe aod pode ser usada, como na segunda linha, onde a tag (XML-based) useBean instancia a classe. A partir desse momento, as variveis esto iniciadas e prontas para uso. Como nenhuma tarefa ainda foi configurada, as variveis permanecem vazias. As linhas seguintes (3 e 4) configuram a varivel tarefa e nome para receber os valores passados pela requisio so JSP. Ou seja, na primeira vez que a pgina carregada, nenhuma varivel passada como parmetro, ento o Bean, ao ser instanciado, utiliza o valor padro (zero) para a varivel. O mesmo ocorre com a varivel nome. Perceba que nas linhas sequintes, do cdigo acima, o mtodo getTarefa() solicitado para verificar se existe alguma tarefa. Se existir, ento o mtodo fazTarefa() executado e aparece o "Resultado da Pesquisa" e o "Formulrio de Pesquisa". Se o getTarefa() retornar zero (quando a pgina carregada pela primeira vez), o mtodo fazTarefa() no executado e s aparece o "Formulrio de Pesquisa". O "Formulrio de Pesquisa" ento completa o cenrio. Ao se enviar o formulrio, os campos nome e tarefa so automaticamente incorporados ao Bean (graas as tags setProperty). Este ento configura a varivel tarefa para 1. Ento o JSP executa o mtodo fazTarefa() e apresenta o "Resultado da Pesquisa". Veja na figura abaixo como deve ser a tela deste JSP.

Criando uma pgina para incluir dados

O cdigo para incluir registros no banco de dados no muito diferente do que vimos anteriormente. As principais diferenas so: A varivel tarefa configurada para 2, para executar a poro de cdigo que inclui o registro no banco de dados. A tag setProperty agora configura tambm o campo email, para que este seja passado para a varivel email dentro do objeto aod. Dependendo do resultado do mtodo fazTarefa(), o JSP imprime se a tarefa foi bem sucedida ou no.

Ao ser executado pela primeira vez o JSP apresenta apenas o formulrio. Quando o form acionado, os campos nome, email e tarefa sero passados como parmetros e as variveis do objeto aod recebem os valores. Com isso o JSP executa o mtodo fazTarefa() que o responsvel por inserir e pesquisar registros. Como nesse caso, o campo tarefa foi passado para a varivel tarefa dentro do Bean, com o valor 2, a tarefa executada a incluso das variveis nome e email no banco de dados, respectivamente importadas dos campos nome e email do formulrio da pgina JSP. Veja na figura abaixo como deve ser a tela deste JSP.

/-----/ Tutorial retirado da Serial Link Millenium 3000 / www.seriallink.com / Desenvolvido por Serial Link /------

Anda mungkin juga menyukai