Faculdades Network Bacharelado em Sistemas de Informação Tópicos Avançados. Aulas 25 e 26 Exemplo de Aplicação usando JSP e MySQL



Documentos relacionados
Java na WEB Banco de Dados

Programação para Internet II

Java na Web. Aplicações Web

TUTORIAL JSP & SERVLET

JDBC. Prof. Márcio Bueno

Java na WEB Componentes Bean

Unidade 9: Middleware JDBC para Criação de Beans

JDBC Java Database Connectivity

Módulo 5 - JDBC java.sql - Conexão com Banco de Dados

Aplicativos Web com Orientação a Objetos

FMH Mestrado Gestão do Desporto Sistemas de Informação

SISTEMA EXPERIMENTALL 15/11/2009. Olá! A partir de agora vamos conhecer a IDE NetBeans efetuando um micro projeto swing.

Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha

Validação de formulários utilizando Javascript

Primeiro exemplo de uso de páginas JSP

Leonardo Gresta Paulino Murta

Driver Mysql para Banco de Dados. Conexão com um Banco de Dados

Capítulo 7. Antes de prosseguir com o Delphi, devemos criar o banco de dados Interbase ou Firebird com todas as suas propriedades.

GUIA PHP com MYSQL Autor: Everton Mendes Messias

Programação Orientada a Objetos JDBC Java Database Connectivity

Fernando Freitas Costa. Pós-Graduando em Gestão e Docência Universitária. blog.fimes.edu.br/fernando nando@fimes.edu.br

Persistência de Classes em Tabelas de Banco de Dados

English Português. By erickalves 25 Julho, :08. Devido à política (#) de segurança. Encontrar Blogs Crie o seu blog de graça Ganhe prêmios

22/05/2012 CRIANDO UM PROJETO COM TELAS ESTRUTURA DA APLICAÇÃO LOGIN BANCO DE DADOS TAREFAS PHP MYSQL PARTE 2

Integrando Java com Banco de Dados

Basicamente iremos precisar de uma base de dados na qual iremos armazenar os registros feitos pelos vistantes: Vamos armazenar os seguintes dados:

Manipulação de Banco de Dados com Java 1. Objetivos

TUTORIAL DE INTRODUÇÃO AO CEWOLF

JDBC. Java DataBase Connectivity

JavaServer Faces JSF

Universidade São Judas Tadeu. Faculdade de Tecnologia e Ciências Exatas. Sistemas de Informação 3ASIN

1. Crie um banco de dados (no MySQL) chamado produtos e um tabela produto. Realise as inserções na tabela produto de acordo com os scripts abaixo.

Banco de Dados. Banco de Dados. Alcides Pamplona Alcides Pamplona Linguagem de Programação CESBD 2010

Construindo um sistema simples de cadastro de fornecedores em PHP e MySQL.

SISTEMA GERENCIAMENTO DE PRODUTOS PHP E MySQL 1. APRESENTAÇÃO

Programação Orientada a Objetos II

1. Fazer aplicação exemplo

JAVAWEB AULA 2 Prof. Daniela Pires Sumário

Padrões de Projeto e Persistência com DAO

Curso de Java. Acesso a banco de dados através de JDBC. Todos os direitos reservados Klais

DSS 08/09. Camada de Dados - JDBC. Aula 1. António Nestor Ribeiro /António Ramires Fernandes/ José Creissac Campos {anr,arf,jfc}@di.uminho.

Lista de exercícios I - RESPOSTAS Servlets e banco de dados

JAVA 14 ODBC / JDBC Aceder a Bases de Dados através da Internet. Vitor Vaz da Silva

Faculdades Integradas Santa Cruz. Tutorial de Java MVC WEB Criando uma tela de Login com Banco de Dados

crudgenerator Passos slimphp/extra/crudgenerator/view/index_view.php A tela abaixo m ostra o p rimeiro passo

if( document.dados.tx_ .value=="" document.dados.tx_ .value.indexof('.

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs?

Tutorial Jogo da Velha WEB

JAVAWEB AULA 2 Prof. Daniela Pires Sumário

J2EE. Exemplo completo Utilização Servlet. Instrutor HEngholmJr

Estudo Dirigido - Parte 1

De forma simples, para a execução de comandos SQL com JDBC, precisa-se da instancia de três classes Java. São elas: Nome da classe Função

6. Introdução à Linguagem PHP

JDBC DRIVER. Objetivo: Possibilitar aplicações não Zim de se conectar a um banco de dados Zim utilizando as normas JDBC.

Nota de Aplicação. Relatório em HTML no Vijeo Citect 1.0. Suporte Técnico Brasil. Versão:

Curso de Java. Geração de Páginas WEB através de JSP. Todos os direitos reservados Klais

Persistência Java para Web com MySQL

Método de Acesso e Integração da Biblioteca Virtual V.1.2 Pearson Sistemas Brasil

Drive MySql de conexão para Eclipse

Autenticação e Autorização

Java & Bancos de Dados Adaptado de Slides da Universidade Salgado de Oliveira Goiânia

J550 Integração com Bancos de Dados

<script language="javascript1.2" src="

Funcionamento da Aplicação. Simulações do funcionamento. Simulação SAC

Acesso a banco de dados

C# - Conexão com MySQL

USANDO APPLETS NO NETBEANS (WEB APPLICATION)...E A APPLET CHAMA ALGUM PACOTE EXTERNO (por Luis Alberto M Palhares de Melo Julho/2011)

SPRING - VALIDAÇÃO. Altere o arquivo formulario.jsp como segue:

JSP e Servlet Princípio de MVC

Projeto 01 - Gestão de utilizadores (com erros)

Exercícios Práticos de HTML e JavaScript. <FORM ACTION="mailto:teste@gmail.com" METHOD="POST" ENCTYPE="text/plain" NAME="cadastro">

<?php include("conn.php");

Agenda. Instalação e configuração. Processamento de comandos SQL com JDBC. Driver JDBC Criação da classe de conexão

DSS 09/10. DSS 09/10 Que métodos é que fazem parte de cada camada? Aplicações Multi-camada JDBC. Aula 3 DSS 09/10

Cadastros de dados no MySQL

JPA: Persistência padronizada em Java

Programação II Programação para a Web. Christopher Burrows

Gerador de código JSP baseado em projeto de banco de dados MySQL

Desenvolva aplicações para a nuvem com CloudBees - Revista Java Magazine 116

Bool setcookie (string nome [, string valor [, int validade [, string caminho [, string dominio [, int seguro]]]]] )

Listando, gravando, alterando e excluindo registro do banco de dados com JSP

Acesso a Bancos de Dados em Java (JDBC)

!" # # # $ %!" " & ' ( 2

JDBC Acessando Banco de Dados

Edição de Setembro. Validação formulários com PHP. ... revistamensal de programação Open Source

1) Crie uma nova página chamada Exercício.html e deixe-a com o seguinte layout:

Java JDBC - I. Ex. 2: para o SQLServer da Microsoft, o driver JDBC pode ser obtido em

HTML. Sessão 4 HTML. Criação de Páginas WEB. Tabelas

Programação para Internet II

Acesso a Banco. Conexão em Java. Conexão em Java. Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel

Passos Preliminares: Acessando a máquina virtual via ssh.

Java Beans e Servlets

" # $ %&'( ) *' ( +,)+ ( - $ (+*' 0 12 ' ( %+ -12 )+3 ) (4 )) ) % 12 ) *' (

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

cadastro de usuários utilizando Ajax e PHP para inserir os dados em uma tabela MySQL.

Java - Conexão ao Banco de Dados usando JDBC

O objetivo da aula é realizar upload de arquivos com aplicação web. Será realizado o upload de duas formas:

JDBC (Java Database Connectivity) Padrão de Projeto DAO (Data Access Object) Roteiro para instalação do banco de dados e do driver JDBC

<link rel="stylesheet" type="text/css" href="imagens.css" />

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Transcrição:

Aulas 25 e 26 Exemplo de Aplicação usando JSP e MySQL Nova Odessa, 18 de abril de 2012. 1. Introdução O presente documento descreve a aplicação de acesso a Banco de Dados usando JSP, desenvolvida para a disciplina de Tópicos Avançados. 2. Aplicação de Exemplo A aplicação de exemplo conta com diversos arquivos JSP: index.jsp, formulario.jsp, analisadados.jsp, gravadados.jsp, listacompleta.jsp, consulta.jsp, processaconsulta.jsp e acessobd_v2.jsp. Como pré-requisitos do sistema, o servidor Tomcat precisa estar instalado (Glassfish ou JBoss também servem, porém são mais pesados), e o Conector J (driver de conexão jdbc com o mysql) disponível no caminho de projeto do Netbeans. 3. Códigos Fonte Os códigos fonte dos arquivos da aplicação de exemplo estão descritos a seguir. index.jsp <%@page contenttype="text/html" pageencoding="iso-8859-1" <html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <title>cadastro de Clientes</title></head> <body bgcolor="f0f0f0"> <table width="70%" border="0" align="center" cellspacing="15" cellpadding="5" bgcolor="d0d0d0"> <tr><td colspan="3" bgcolor="909090" align="center"><b><font color="white">cadastro de Clientes</font></b></td></tr> <tr><td width="33%" align="center"><a href="formulario.jsp">novo Cadastro</a></td> <td width="34%" align="center"><a href="consulta.jsp">consulta por Nome ou CPF</a></td> 1 de 15

<td width="33%" align="center"><a href="listacompleta.jsp">listagem Completa de Clientes</a></td> </tr></table></body></html> formulario.jsp <%@page contenttype="text/html" pageencoding="iso-8859-1" <html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <title>cadastro de Cliente</title></head> <body bgcolor="f0f0f0"> <form action="analisadados.jsp" name="form1" method="post"> <table width="70%" border="0" align="center" cellspacing="10" cellpadding="5" bgcolor="d0d0d0"> <tr><td colspan="2" bgcolor="909090" align="center"><b><font color="white">dados Pessoais do Cliente</font></b></td></tr> <tr><td width="30%" align="right"><b>nome Completo: </b></td><td width="70%"><input type="text" name="nome" size="60"></td></tr> <tr><td width="30%" align="right"><b>endereço: </b></td><td width="70%"><input type="text" name="endereco" size="60"></td></tr> <tr><td width="30%" align="right"><b>rg: </b></td><td width="70%"><input type="text" name="rg" size="60"></td></tr> <tr><td width="30%" align="right"><b>cpf: </b></td><td width="70%"><input type="text" name="cpf" size="60"></td></tr> <tr><td width="30%" align="right"><b>telefone: </b></td><td width="70%"><input type="text" name="telefone" size="60"></td></tr> <tr><td width="30%" align="right" bgcolor="d0d0d0"><b>e-mail: </b></td><td width="70%"><input type="text" name="email" size="60"></td></tr> <tr><td colspan="2" align="center"><table width="100%" border="0" align="center"> <tr><td width="33%" align="center"><input type="button" value="limpar" style="height: 25px; width: 100px"></td> 2 de 15

<td width="34%" align="center"><input type="button" value="cancelar" style="height: 25px; width: 100px"></td> <td width="33%" align="center"><input type="submit" value="enviar" style="height: 25px; width: 100px"></td></tr> </table></td></tr></table></form></body></html> analisadados.jsp <%@page contenttype="text/html" pageencoding="iso-8859-1" <%@include file="acessobd_v2.jsp" <html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <title>confirmação de Dados</title></head> <body bgcolor="f0f0f0"> <% String nome = request.getparameter("nome"); String endereco = request.getparameter("endereco"); String rg = request.getparameter("rg"); String cpf = request.getparameter("cpf"); String telefone = request.getparameter("telefone"); String email = request.getparameter("email"); session.setattribute("nome",nome); session.setattribute("endereco",endereco); session.setattribute("rg",rg); session.setattribute("cpf",cpf); session.setattribute("telefone",telefone); session.setattribute("email",email); <form action="gravadados.jsp" name="form2" method="post"> 3 de 15

<table width="70%" border="0" align="center" cellspacing="10" cellpadding="5" bgcolor="d0d0d0"> <tr><td colspan="2" bgcolor="909090" align="center"><b><font color="white">dados Pessoais do Cliente - Confirmação</font></b></td></tr> <tr><td width="30%" align="right"><b>nome Completo: </b></td><td width="70%"><%= nome </td> </tr> <tr><td width="30%" align="right"><b>endereço: </b></td><td width="70%"><%= endereco </td> </tr> <tr><td width="30%" align="right"><b>rg: </b></td><td width="70%"><%= rg </td></tr> <tr><td width="30%" align="right"><b>cpf:</b></td><td width="70%"><%= cpf </td></tr> <tr><td width="30%" align="right"><b>telefone: </b></td><td width="70%"><%= telefone </td> </tr> <tr><td width="30%" align="right" bgcolor="d0d0d0"><b>e-mail: </b></td><td width="70%"><%= email </td></tr> <tr><td colspan="2" align="center"> <table width="100%" border="0" align="center"> <tr><td width="33%" align="center"><input type="button" value="voltar" style="height: 25px; width: 100px"></td> <td width="34%" align="center"><input type="button" value="cancelar" style="height: 25px; width: 100px"></td> <td width="33%" align="center"><input type="submit" value="confirmar" style="height: 25px; width: 100px"></td></tr> </table></td></tr></table></form></body></html> gravadados.jsp <%@page contenttype="text/html" pageencoding="iso-8859-1" <%@include file="acessobd_v2.jsp" <html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <title>cadastro de Cliente</title></head> 4 de 15

<body bgcolor="f0f0f0"> <%! String pedidosql; <% conectabd(); pedidosql = "insert into pessoa values(null,'"+session.getattribute("nome") +"','"+session.getattribute("endereco")+"','"+session.getattribute("rg") +"','"+session.getattribute("cpf")+"','"+session.getattribute("telefone") +"','"+session.getattribute("email")+"')"; inserepedido(pedidosql); fechaconexao(); <table width="70%" border="0" align="center" cellspacing="10" cellpadding="5" bgcolor="d0d0d0"> <tr><td colspan="2" bgcolor="909090" align="center"><b><font color="white">cadastro de Cliente</font></b></td></tr> <tr><td align="left"><b>dados Gravados com Sucesso!</b></td></tr> <tr><td align="left">mensagem do Banco de Dados: <font color="green"><%= mensagem </font></td> </tr></table></body></html> listacompleta.jsp <%@page contenttype="text/html" pageencoding="iso-8859-1" <%@include file="acessobd_v2.jsp" <html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <title>listagem Completa</title></head> <body bgcolor="f0f0f0"> <h2>listagem Completa de Clientes</h2> <p>esta página realiza a consulta de todos os elementos existentes na tabela "pessoa".</p> 5 de 15

<%! ResultSet rs; String consulta; String nome; String rg; String cpf; String endereco; String email; <% consulta = "select * from pessoa;"; conectabd(); out.println(mensagem); out.println("<br>"); rs = realizaconsulta(consulta); while(rs.next()){ nome = rs.getstring("nome"); rg = rs.getstring("rg"); cpf = rs.getstring("cpf"); endereco = rs.getstring("endereco"); email = rs.getstring("email"); out.println("<br>"); out.println("nome: "+nome + " RG: " + rg + " CPF: "+ cpf + " Endereço: " + endereco + " E-Mail: " + email); </body></html> fechaconexao(); 6 de 15

consulta.jsp <%@page contenttype="text/html" pageencoding="iso-8859-1" <html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <title>consulta de Clientes</title></head> <body bgcolor="f0f0f0"> <form action="processaconsulta.jsp" name="form4" method="post"> <table width="70%" border="0" align="center" cellspacing="10" cellpadding="5" bgcolor="d0d0d0"> <tr><td colspan="2" bgcolor="909090" align="center"><b><font color="white">consulta de Clientes</font></b></td></tr> <tr><td width="30%" align="right"><b>nome Completo: </b></td><td width="70%"><input type="text" name="nome" size="60"></td></tr> <tr><td width="30%" align="right"><b>cpf: </b></td><td width="70%"><input type="text" name="cpf" size="60"></td></tr> <tr><td colspan="2" align="justify"><font color="red">obs.:</font> A consulta pode ser realizada preenchendo-se o campo "Nome Completo" e/ou o campo "CPF". Caso ambos os campos sejam preenchidos, a associação entre os dois campos será do tipo "AND".</td></tr> <tr><td colspan="2" align="justify"><font color="red">obs.2:</font> Se ambos os campos "Nome Completo" e "CPF" forem deixados em branco, a consulta retornará a listagem completa de Clientes existentes na Base de Dados.</td></tr> <tr><td colspan="2" align="center"> <table width="100%" border="0" align="center"> <tr><td width="33%" align="center"><input type="button" value="limpar" style="height: 25px; width: 100px"></td> 7 de 15

<td width="34%" align="center"><input type="button" value="cancelar" style="height: 25px; width: 100px"></td> <td width="33%" align="center"><input type="submit" value="consultar" style="height: 25px; width: 100px"></td> </tr></table></td> </tr></table></form></body></html> processaconsulta.jsp <%@page contenttype="text/html" pageencoding="iso-8859-1" <%@include file="acessobd_v2.jsp" <html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <title>resultado da Consulta</title></head> <body bgcolor="f0f0f0"> <%! ResultSet rs; String consulta, nome; String rg, cpf; String endereco, telefone; String email; boolean nomeval = false; boolean cpfval = false; public String criatabelaresposta(string nome, String endereco, String rg, String cpf, String telefone, String email){ StringBuffer strbuf = new StringBuffer(); strbuf.append("<table width='100%' border='0' align='center' cellspacing='10' cellpadding='5' bgcolor='d0d0d0'>"); 8 de 15

strbuf.append("<tr><td colspan='2' bgcolor='909090' align='center'><b><font color='white'>dados Pessoais do Cliente</font></b></td></tr>"); strbuf.append("<tr><td width='30%' align='right'><b>nome Completo: </b></td><td width='70%' bgcolor='f0f0f0'>"+nome+"</td></tr>"); strbuf.append("<tr><td align='right'><b>endereço: </b></td><td bgcolor='f0f0f0'>"+endereco+"</td></tr>"); strbuf.append("<tr><td align='right'><b>rg: </b></td><td bgcolor='f0f0f0'>"+rg+"</td></tr>"); strbuf.append("<tr><td align='right'><b>cpf: </b></td><td bgcolor='f0f0f0'>"+cpf+"</td></tr>"); strbuf.append("<tr><td align='right'><b>telefone: </b></td><td bgcolor='f0f0f0'>"+telefone+"</td></tr>"); strbuf.append("<tr><td align='right'><b>e-mail: </b></td><td bgcolor='f0f0f0'>"+email+"</td></tr>"); strbuf.append("</table>"); return strbuf.tostring(); <table width='70%' border='0' align='center' cellspacing='10' cellpadding='5' bgcolor='d0d0d0'> <tr><td colspan='2' bgcolor='909090' align='center'><b><font color='white'>consulta na Tabela de Clientes</font></b></td></tr> <tr><td colspan='2' align='left'><b>valores usados na consulta</b></td></tr> <tr><td align='right' width='30%'>nome: </td><td align='left' width='70%' bgcolor='f0f0f0'><%= request.getparameter("nome") </td></tr> <tr><td align='right'>cpf: </td><td align='left' bgcolor='f0f0f0'><%= request.getparameter("cpf") </td></tr> <tr><td colspan='2' align='left'><b>consulta a ser realizada</b></td></tr> <% nome = request.getparameter("nome"); 9 de 15

cpf = request.getparameter("cpf"); if(nome!= null && nome!= ""){ nomeval = true; // out.println("campo Nome não é nulo nem vazio. <br>"); else{ // out.println("campo Nome é nulo ou vazio. <br>"); if(cpf!= null && cpf!= ""){ cpfval = true; // out.println("campo CPF não é nulo nem vazio. <br>"); else{ // out.println("campo CPF é nulo ou vazio. <br>"); if(nomeval && cpfval){ consulta = "select * from pessoa where nome='" + nome + "' and cpf='" + cpf + "';"; else{ if(nomeval){ consulta = "select * from pessoa where nome='" + nome + "';"; else{ consulta = "select * from pessoa where cpf='" + cpf + "';"; 10 de 15

<tr><td colspan='2' align='left'><font color="blue"><%= consulta </font></td></tr> <tr><td colspan='2' align='left'><b>mensagem do banco de dados</b></td></tr> <% conectabd(); rs = realizaconsulta(consulta); if(rs == null){ <tr><td colspan='2' align='left'><font color='blue'>resultset de resposta é nulo... </font></td></tr> <% else{ rs.last(); int numrows = rs.getrow(); // Contagem do Número de Linhas do ResultSet <tr><td colspan='2' align='left'><font color='blue'>número de Linhas do ResultSet: <%= numrows </font></td></tr> <tr><td colspan='2' align='left'><b>resposta do banco de dados</b></td></tr> <tr><td colspan='2'> <% rs.beforefirst(); String tabela; while(rs.next()){ nome = rs.getstring("nome"); rg = rs.getstring("rg"); cpf = rs.getstring("cpf"); endereco = rs.getstring("endereco"); 11 de 15

telefone = rs.getstring("telefone"); email = rs.getstring("email"); tabela = criatabelaresposta(nome, endereco, rg, cpf, telefone, email); out.println(tabela); </td></tr> <% // fim do else fechaconexao(); </table></body></html> acessobd_v2.jsp <%@ page contenttype="text/html" pageencoding="utf-8" language="java" import="java.sql.*" <html><body> <%! Connection con; Statement stm; String mensagem; public void conectabd(){ try { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost:3306/topicosSI","root","root9"); stm = con.createstatement(); mensagem = "Conexão efetuada com sucesso. "; 12 de 15

catch (Exception e) { mensagem = "Não foi possível conectar ao banco. Erro: " + e.getmessage(); public void inserepedido(string pedido){ try{ stm.executeupdate(pedido); catch(sqlexception e){ mensagem = e.tostring(); catch(nullpointerexception npe){ mensagem = npe.tostring(); public ResultSet realizaconsulta(string consulta){ ResultSet rs = null; try{ rs = stm.executequery(consulta); catch(sqlexception e){ mensagem = e.tostring(); finally{ return rs; 13 de 15

public void fechaconexao(){ try{ stm.close(); con.close(); catch(sqlexception sqle){ mensagem = sqle.tostring(); </body></html> <!-- Criação da Tabela pessoa no Banco de Dados topicossi create table pessoa( pessoaid INT AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(40) NOT NULL, endereco VARCHAR(70), rg VARCHAR(20), cpf VARCHAR(20), telefone VARCHAR(20), email VARCHAR(40)); --> 14 de 15

4. Referências Projeto "CadastroSI", pasta em NetBeansProjects. 15 de 15