Вы находитесь на странице: 1из 260

BenefrancisdoNascimento 1

Neste material mostrarei passo a passo o


SISTEMAWEB
desenvolvimento de uma aplicao
web
utilizando programao orientada a
objeto com Java em conjunto com o
framework para mapeamento objeto
relacional Hibernate. indicado para
estudantes e profissionais que queiram
aprender Java para web, porm que
procuram desenvolver softwares mais
prximos do que o mercado atualmente
exige. Neste material desenvolveremos
um sistema para controlar um petshop
contendo diversas operaes que
interagemcombancodedados.

SISTEMA
WEB
Desenvolva passo a passo
um sistema web utilizando
Java, Hibernate e JSP.

BenefrancisdoNascimento

BenefrancisdoNascimento 2
SISTEMAWEB

AosmeusalunosdocursodePsgraduaoemDesenvolvimentodeSistemasparaWebda
FaculdadeAnhangueraCampinas.

BenefrancisdoNascimento 3
SISTEMAWEB

Configurandooambiente.............................................................................................................7
AcessandooMysql....................................................................................................................8
Criandoobancodedadosdosistema......................................................................................8
CriandoumaaplicaoJavaparawebnoNetbeans................................................................9
Criandoospacotesdanossaaplicao...................................................................................16
Criandoasclassesdacamadadecontrole..................................................................................17
Mtodosdaclassepessoaqueinteragemcomobancodedados.........................................20
MapeandoaClassePessoa.....................................................................................................21
AClasseTelefone....................................................................................................................27
MtodosdaclasseTelefonequeinteragemcomobancodedados......................................27
MapeandoaClasseTelefone..................................................................................................28
AclasseEndereco....................................................................................................................32
MtodosdaclasseEnderecoqueinteragemcomobancodedados.....................................32
MapeandoaclasseEndereco..................................................................................................33
AclasseDocReceita.................................................................................................................37
MapeandoaclasseDocReceita...............................................................................................37
AclasseCPF.............................................................................................................................40
AclasseCNPJ...........................................................................................................................41
AclasseAnimal........................................................................................................................42
MtodosdaclasseAnimalqueinteragemcomobancodedados.........................................42
MapeandoaclasseAnimal......................................................................................................43
InformandoaoHibernatequaisosatributosdaclasseanimalqueseropersistidos...........46
AclasseCachorro....................................................................................................................48
AclasseGato...........................................................................................................................49
AclasseabstrataServico.........................................................................................................50

BenefrancisdoNascimento 4
SISTEMAWEB

MtodosdaclasseServicoqueinteragemcomobancodedados........................................50
MapeandoaClasseServico.....................................................................................................52
InformandoaoHibernatequaisosatributosdaclasseServicoqueseropersistidos...........53
AclasseBanho.........................................................................................................................55
AclasseConsulta.....................................................................................................................56
AclasseTosa...........................................................................................................................57
AclasseVacina........................................................................................................................57
UtilizandooHibernateparacriarastabelasnobancodedados...............................................58
Atualizandooarquivohibernate.cfg.xml................................................................................59
Criandoumaconexocomohibernate..................................................................................60
CriandoumaclasseparatestarofuncionamentodoHibernate............................................61
ProgramandoasclassesDAO......................................................................................................63
Introduo...............................................................................................................................64
ImplementadoosmtodosdaclassePessoaDAO..................................................................64
ImplementadoosmtodosdaclasseAnimalDAO..................................................................71
ImplementadoosmtodosdaclasseServicoDAO..................................................................77
ImplementadoosmtodosdaclasseTelefoneDAO...............................................................84
ImplementadoosmtodosdaclasseEnderecoDAO..............................................................90
TestandoosmtodosdasclassesdopacoteDAO......................................................................96
Salvandopessoa,telefone,endereo,animaiseservios......................................................97
CriandoaspginasJSP..............................................................................................................101
Mapadosite..........................................................................................................................102
Criandodiretriosnecessrios..............................................................................................102
IniciandoaprogramaodaspginasJSP.............................................................................104
Importandoasclassesnecessrias........................................................................................104
Codificandoarquivosdodiretriogeral...................................................................................110

BenefrancisdoNascimento 5
SISTEMAWEB

Codificandoarquivosdodiretriocadastros............................................................................115
Codificandoarquivosdodiretrioservios...............................................................................150
Codificandoarquivosdodiretrioconsultas............................................................................168
Consideraesfinais..................................................................................................................260

BenefrancisdoNascimento 6
SISTEMAWEB

Figura1Diagramadeclassesdopacotecontrole

BenefrancisdoNascimento 7
SISTEMAWEB

Configurando o ambiente

BenefrancisdoNascimento 8
SISTEMAWEB

Acessando o Mysql

Iniciaremosaconfiguraodonossoambientededesenvolvimento,conectandocomoMysql.
ParaissoutilizaremosoHeidiSQL1.Conectamoscomousuriorootemnossamquinalocal.

Figura2ConectandooHeidiSQL

Criando o banco de dados do sistema

Criaremosagoraonossodatabase.Paraisso,cliquecomobotodadireitadomouse
noTreeviewroot@127.0.0.1;abrirummenususpensonoqualvocdeveracessara
opoCreateNew/Database.Atelarepresentadnaimagemabaixoseraberta.
Preenchaosdadosconformeaimagemabaixo.

Disponvelem:http://www.heidisql.com/

BenefrancisdoNascimento 9
SISTEMAWEB

Figura3Criandoobancodedadoscomonomeestimacao

Criando uma aplicao Java para web no Netbeans

CriaremosagoraumaaplicaojavaparawebnoideNetbeans2.Acesseomenu
Arquivo/Novoprojeto.Aconfiguraodoprojetoseguequatropassosque
descrevereinasimagensaseguir.

Disponvelem:http://netbeans.org/

BenefrancisdoNascimento 10
SISTEMAWEB

Figura4CriandoumaaplicaoJavaparawebnoNetbeans[1Passo]

Oprimeiropassoconsistenaescolhadoprojeto.Nonossocasoacategoriadoprojeto
serjavaWebeoprojetoserAplicaoweb.

BenefrancisdoNascimento 11
SISTEMAWEB

Figura5CriandoumaaplicaoJavaparawebnoNetbeans[2Passo]

Nosegundopassodemosumnomeparaoprojeto.OnomeescolhidofoiEstimacao.

Figura6CriandoumaaplicaoJavaparawebnoNetbeans[3Passo]

BenefrancisdoNascimento 12
SISTEMAWEB

Noterceiropassodeveremosescolheroservidorcontainerparaanossaaplicao.
EscolhaoApacheTomcat.ParaaversodojavaEEvocdeverescolhera5ou
superior.OcaminhodoprojetosersugeridopeloNetbeans.Aceiteasugesto.

Figura7CriandoumaaplicaoJavaparawebnoNetbeans[4Passo]

Oquartopassoserdivididoemduasetapas.Aprimeiraescolherosframeworksque
desejaremostrabalharemnossaaplicao.EscolhasomenteoHibernate3.x.x.Para
conexocombancodedadosohibernatetrabalhacomdialeto,destamaneiraele
sabertratarasparticularidadesdobancodedadosescolhido.Configuraremosuma
novaconexocombancodedados.Asegundaetapaapresentadanaimagemabaixo:

BenefrancisdoNascimento 13
SISTEMAWEB

Figura8Segundaetapado4passodaconfiguraodoprojetoJavaparaweb

Aimagemacimamostracomodeverserconfiguradaaconexocomobancodedados.
Preenchaconformeaimagem,pormvocdeversaberqualousurioesenhadoseubanco
dedadosMysql.Apsopreenchimentocliqueemokparaaparecerateladefinalizaoda
configuraodoprojeto(imagemaseguir).

BenefrancisdoNascimento 14
SISTEMAWEB

Figura9Teladefinalizaodaconfiguraodoprojeto

Oseuprojetojestconfiguradoparatrabalharcomjavaparawebutilizandoo
frameworkHibernate.
ONetbeansexibiraestruturadediretriosconformeimagemaseguir,pormpara
visualizarocontedodoarquivohibernate.cfg.xml,vocdeverclicarnaabaXMLdo
referidoarquivo.

BenefrancisdoNascimento 15
SISTEMAWEB

Figura10ocontedodoarquivohibernate.cfg.xmlcriadopeloideNetbeans

Figura11Alteramosoarquivohibernate.cfg.xml

Realizamosaprimeiraalteraonoarquivohibernate.cfg.xmlcomoobjetivodeque:
1. Exibanoconsoleoscomandossql;

BenefrancisdoNascimento 16
SISTEMAWEB

2. Queoscomandossqlsejamformatados;
3. Informandootamanhodopooldeconexespermitidas;
4. E,porfim,queohibernatetenhapermissodecriartabelasnanossabasede
dados.
Faltaapenasinformarnestearquivoquaisseroasclassesdanossaaplicaoque
seromapeadasparapersistiremnobancodedados,masinformaremosapsa
criao,codificaoemapeamentodasmesmas.

Criando os pacotes da nossa aplicao

A nossa aplicao ter trs camadas, porm apenas dois pacotes, pois a camada de
apresentao ser composta pelas pginas web que j possuem diretrio em nosso projeto.
Vejaimagemabaixo.

Figura12CriandoPacotes:controleemodeloAcamadadevisosernodiretrio
PginasWeb
Cabeinformarqueapenasoarquivohibernate.cfg.xmldeverpermanecernopacotepadro.

BenefrancisdoNascimento 17
SISTEMAWEB

Criando as classes da camada de controle

BenefrancisdoNascimento 18
SISTEMAWEB

A Classe Pessoa

Figura13AtributosdaClasseabstrataPessoa.

No momento da criao dos atributos o Netbeans sugere a criao das classes. Por
exemplo,aodigitarpublicCollection<Telefone>telefoneoNetbeanssugereacriao
da classe telefone. Aconselho que criem imediatamente conforme o Netbeans vai
sugerindo, porm depois faam as devidas alteraes visto que, por exemplo, ao
digitar public DocReceita docReceita ele sugere a criao de uma classe, mas
conformenossodiagramaUML,DocReceitaumainterface.Altere.

BenefrancisdoNascimento 19
SISTEMAWEB

Figura14Diretrioapsacriaodasclassesdopacotemodelo

NestemomentocrieiasclassesDAODataAccessObjectClassesresponsveispela
camadadepersistncianaminhaaplicao,massemnenhumcdigonestemomento
(apenasparapodermosreferencilasnosmtodossalvar,alterar,excluireconsultar
nas classes do pacote controle). Criaremos tambm uma classe para testar o
funcionamentodoHibernate(detalhareiestasclassesmaisadiante).

BenefrancisdoNascimento 20
SISTEMAWEB

Mtodos da classe pessoa que interagem com o banco de dados


Aseguirosmtodosautenticar,existe,salvar,consultar,alterareexcluirdaclassePessoa.
QuandoestiverincluindoosmtodosabaixonaclassePessoaoNetbeansirsugeriracriao
dosmtodosnaclassePessoaDAO.Aceiteasugesto.
publicAutenticavelautenticar(Stringusuario,Stringsenha){
returnPessoaDAO.autenticar(usuario,senha);
}

publicbooleanexiste(Stringemail){
returnPessoaDAO.existe(email);
}

publicbooleanexiste(DocReceitadocumento){
returnPessoaDAO.existe(documento);
}

staticpublicbooleansalvar(Pessoap){
returnPessoaDAO.salvar(p);
}

staticpublicArrayList<Pessoa>consultar(){
returnPessoaDAO.consultar();
}

staticpublicPessoaconsultar(intidPessoa){
returnPessoaDAO.consultar(idPessoa);

BenefrancisdoNascimento 21
SISTEMAWEB

staticpublicCollection<Pessoa>consultar(Stringnome){
returnPessoaDAO.consultar(nome);
}

staticpublicbooleanalterar(Pessoap){
returnPessoaDAO.alterar(p);
}

staticpublicbooleanexcluir(Pessoap){
returnPessoaDAO.excluir(p);
}

Mapeando a Classe Pessoa

IniciaremosomapeamentoObjetoRelacionaldaclassepessoa

Informando que a Classe Pessoa dar origem a objetos que sero


persistidos

PrecisamosinformaraoHibernatequeaclassepessoadarorigemaobjetosquesero
persistidosembancodedados.Paraissoutilizamosaseguinteanotao:
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
@DiscriminatorColumn(name="tipo")

BenefrancisdoNascimento 22
SISTEMAWEB

Asanotaesacimadeveroserinseridasantesdonomedaclasse.Vejaimagemabaixo:

Figura15InformandoaoHibernatequeaClassePessoaserpersistidaeaestratgiadeHerana
utilizada

AodigitarasanotaesoNetbeanssugerealgumasimportaes,vocdeverescolheras
importaesconformeaslinhasquevode5a8naimagemacima.

Informando ao Hibernate qual ser o id da tabela

ONetbeansirasugeriracriaodoidparahierarquiadaclasse,paracriaroidqueseroid
databelanobancodedados;insiraocdigoabaixoantesdoatributoidPessoa.Ser
necessrioalterardepublicparaprivateoatributoidPessoa.Nodeixedefazeras
importaessugeridaspeloNetbeans,pormselecionesempreasquecomeamcom
javax.persistence

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
privateintidPessoa;

BenefrancisdoNascimento 23
SISTEMAWEB

Informando ao Hibernate quais os atributos da classe pessoa que sero


persistidos
NecessitamosinformaraoHibernatequaisatributosseropersistidosnobancodedados.Para
issodeveroincluirasanotaesconformeimagemabaixo:

BenefrancisdoNascimento 24
SISTEMAWEB

BenefrancisdoNascimento 25
SISTEMAWEB

Figura16Atributosdaclassepessoaqueseropersistidos

Encapsulando atributos da classe Pessoa


ParaencapsularoscamposdaclassePessoaacesseomenrefatorar/encapsularcampos.A
telaabaixoseraberta.Selecionetodososcamposecliqueemrefatorar.

Figura17EncapsulandocamposdaclassePessoa


Criando mtodos construtores para a classe Pessoa
Paracriarmtodosconstrutoresparaaclassetelefonecoloqueocursoremqualquerpartedo
cdigo fonte da classe Pessoa, sugiro que seja logo depois dos atributos, de o comando [
control + espao ]; abrir o men suspenso conforme a imagem abaixo. Clique em cima do
mtodocomonomedaclasse(omesmoqueselecioneinaimagem).Repitaaoperaoagora
selecionandoomtodosematributos.

BenefrancisdoNascimento 26
SISTEMAWEB

Figura18CriandomtodoconstrutorparaaclasseTelefone

BenefrancisdoNascimento 27
SISTEMAWEB

A Classe Telefone

Figura19AtributosdaClasseTelefone

Mtodos da classe Telefone que interagem com o banco de dados

Incluiremososmtodossalvar,consultar,alterareexcluirnaclasseTelefone.Essesmtodos
seroaligaoentreaclasseTelefoneeaclassetelefoneDAO.Abaixomostramososmtodos
daclasseTelefone.Obs:Quandoestiverinserindoosmtodosabaixo,oNetbeansirsugerira
criaodosmtodosnaClasseTelefoneDAO.Aceiteasugesto.
publicstaticbooleansalvar(Telefonet){
returnTelefoneDAO.salvar(t);
}
publicstaticbooleansalvar(Pessoap){
returnTelefoneDAO.salvar(p);
}
publicstaticTelefoneconsultar(intidTelefone){
returnTelefoneDAO.consultar(idTelefone);

BenefrancisdoNascimento 28
SISTEMAWEB

publicstaticCollection<Telefone>consultar(Pessoap){
returnTelefoneDAO.consultar(p);
}
publicstaticbooleanalterar(Telefonet){
returnTelefoneDAO.alterar(t);
}
publicstaticbooleanexcluir(Telefonet){
returnTelefoneDAO.excluir(t);
}
publicstaticbooleanexcluir(Pessoap){
returnTelefoneDAO.excluir(p);
}

Mapeando a Classe Telefone

IniciaremosomapeamentoobjetorelacionaldaclasseTelefone.

Informando que a classe Telefone dar origem a objetos que sero


persistidos

Parainformarqueaclassetelefonedarorigemaobjetosqueseropersistidosembancode
dados,bastaapenasincluiraanotao@Entityantesdonomedaclasse.

BenefrancisdoNascimento 29
SISTEMAWEB

Informando ao Hibernate qual ser o Id da tabela telefone

Paracriaroidqueseroiddatabelanobancodedados;insiraocdigoabaixoantesdo
atributoidTelefone.NodeixedefazerasimportaessugeridaspeloNetbeans,porm
selecionesempreasquecomeamcomjavax.persistence.

Figura20InformandoaoHibernatequalseroIddatabelatelefone

Informando ao Hibernate quais os atributos da classe Telefone que


sero persistidos

BenefrancisdoNascimento 30
SISTEMAWEB

Figura21AtributosdaclasseTelefonequeseropersistidos

Encapsule os atributos da classe Telefone

Paraencapsularoscamposdaclassetelefoneacesseomenrefatorar/encapsularcampos.A
telaabaixoseraberta.Selecionetodososcamposecliqueemrefatorar.

BenefrancisdoNascimento 31
SISTEMAWEB

Figura22EncapsulandoosatributosdaclasseTelefone

Crie mtodos construtores para a classe Telefone


Paracriarosmtodosconstrutoresdaclassetelefonecoloqueocursoremqualquerpartedo
cdigo fonte da classe telefone, sugiro que seja logo depois dos atributos, de o comando [
control + espao ]; abrir o men suspenso conforme a imagem abaixo. Clique em cima do
mtodocomonomedaclasse(omesmoqueselecioneinaimagem).Repitaaoperaoagora
selecionandoomtodosematributos.

Figura23CriandomtodoconstrutorparaaclasseTelefone

BenefrancisdoNascimento 32
SISTEMAWEB

A classe Endereco

Figura24AtributosdaclasseEndereco

Mtodos da classe Endereco que interagem com o banco de dados

Incluiremososmtodossalvar,consultar,alterareexcluirnaclasseEndereco.Essesmtodos
seroaligaoentreaclasseEnderecoeaclasseEnderecoDAO.Abaixomostramosos
mtodosdaclasseEndereco.Obs:Quandoestiverinserindoosmtodosabaixo,oNetbeansir
sugeriracriaodosmtodosnaClasseEnderecoDAO.Aceiteasugesto.
publicstaticbooleansalvar(Enderecoe){
returnEnderecoDAO.salvar(e);
}

BenefrancisdoNascimento 33
SISTEMAWEB

publicstaticbooleansalvar(Pessoap){
returnEnderecoDAO.salvar(p);
}
publicstaticEnderecoconsultar(intidEndereco){
returnEnderecoDAO.consultar(idEndereco);
}
publicstaticArrayList<Endereco>consultar(Pessoap){
returnEnderecoDAO.consultar(p);
}
publicstaticbooleanalterar(Enderecoe){
returnEnderecoDAO.alterar(e);
}
publicstaticbooleanexcluir(Enderecoe){
returnEnderecoDAO.excluir(e);
}
publicstaticbooleanexcluir(Pessoap){
returnEnderecoDAO.excluir(p);
}




Mapeando a classe Endereco

IniciaremosomapeamentoobjetorelacionaldaclasseEndereco.

BenefrancisdoNascimento 34
SISTEMAWEB

Informando que a classe Endereco dar origem a objetos que sero


persistidos

ParainformarqueaclasseEnderecodarorigemaobjetosqueseropersistidosembancode
dados,bastaapenasincluiraanotao@Entityantesdonomedaclasse.

Informando ao Hibernate qual ser o Id da tabela endereco

Paracriaroidqueseroiddatabelanobancodedados;insiraocdigoabaixoantesdo
atributoidEndereco.NodeixedefazerasimportaessugeridaspeloNetbeans,porm
selecionesempreasquecomeamcomjavax.persistence.

Figura25InformandoaoHibernatequalseroIddatabelaendereo

Informando ao Hibernate quais os atributos da classe Endereco que


sero persistidos

BenefrancisdoNascimento 35
SISTEMAWEB

Figura26OsatributosdaclasseEnderecoqueseropersistidos

BenefrancisdoNascimento 36
SISTEMAWEB

Encapsule os atributos da classe Endereco

Paraencapsularoscamposdaclasseenderecoacesseomenrefatorar/encapsularcampos.
Atelaabaixoseraberta.Selecionetodososcamposecliqueemrefatorar.

Figura27Encapsulandocamposdaclasseendereo

Crie mtodos construtores para a classe Endereco


Paracriarmtodosconstrutoresparaaclasseendereo,coloqueocursoremqualquerparte
docdigofontedaclasseEndereco,sugiroquesejalogodepoisdosatributos,deocomando[
control + espao ]; abrir o men suspenso conforme a imagem abaixo. Clique em cima do
mtodocomonomedaclasse(omesmoqueselecioneinaimagem).Repitaaoperaoagora
selecionandoomtodosematributos.

BenefrancisdoNascimento 37
SISTEMAWEB

Figura28MtodosconstrutoresparaaclasseEndereco

A classe DocReceita

CodificaremosagoraaclasseDocReceita.

Figura29AinterfaceDocReceita


Mapeando a classe DocReceita

IniciaremosomapeamentoobjetorelacionaldaclasseDocReceita.

BenefrancisdoNascimento 38
SISTEMAWEB

Informando que a classe DocReceita dar origem a objetos que sero


persistidos

ParainformarqueaclasseDocReceitadarorigemaobjetosqueseropersistidosembanco
dedados,bastaapenasincluiraanotao@Entityantesdonomedaclasse,pormdocReceita
seraclassemedeCPFeCNPJ,destaformasernecessrioinformarqualaestratgiade
heranaqueutilizaremos.

@Entity
@Inheritance(strategy=InheritanceType.JOINED)
@DiscriminatorColumn(name="tipo")

Informando ao Hibernate quais os atributos da classe DocReceita que


sero persistidos

BenefrancisdoNascimento 39
SISTEMAWEB

Figure1AtributosdaclasseDocReceitaqueseropersistidos

BenefrancisdoNascimento 40
SISTEMAWEB

A classe CPF

CodificaremosagoraaclasseCPF.EstaclasseimplementaaInterfaceDocReceita.Portanto
deverpossuiromtodovalidaregetNumero.

Figura30AclasseCPF

BenefrancisdoNascimento 41
SISTEMAWEB

A classe CNPJ

AclasseCNPJ,assimcomoaclasseCPFimplementaainterfaceDocReceita,portantotambm
deverpossuirosmtodosvalidaregetnumero.

Figura31AclasseCNPJ

BenefrancisdoNascimento 42
SISTEMAWEB

A classe Animal

IniciaremosacodificaodaclasseabstrataAnimal.

Figura32AclasseAbstrataAnimal

Mtodos da classe Animal que interagem com o banco de dados

Incluiremososmtodossalvar,consultar,alterareexcluirnaclasseAnimal.Essesmtodos
seroaligaoentreaclasseAnimaleaclasseanimalDAO.Abaixomostramososmtodosda
classeAnimal.Obs:Quandoestiverinserindoosmtodosabaixo,oNetbeansirsugerira
criaodosmtodosnaClasseAnimalDAO.Aceiteasugesto.
publicstaticbooleansalvar(Animala){
returnAnimalDAO.salvar(a);
}
publicstaticbooleansalvar(Pessoap){

BenefrancisdoNascimento 43
SISTEMAWEB

returnAnimalDAO.salvar(p);
}
publicstaticAnimalconsultar(intidAnimal){
returnAnimalDAO.consultar(idAnimal);
}
publicstaticCollection<Animal>consultar(){
returnAnimalDAO.consultar();
}
publicstaticCollection<Animal>consultar(Pessoap){
returnAnimalDAO.consultar(p);
}
publicstaticbooleanalterar(Animala){
returnAnimalDAO.alterar(a);
}
publicstaticbooleanexcluir(Animala){
returnAnimalDAO.excluir(a);
}
publicstaticbooleanexcluir(Pessoap){
returnAnimalDAO.excluir(p);
}


Mapeando a classe Animal

IniciaremosomapeamentoobjetorelacionaldaclasseAnimal.

BenefrancisdoNascimento 44
SISTEMAWEB

Informando que a classe Animal dar origem a objetos que sero


persistidos

PrecisamosinformaraoHibernatequeaclasseAnimaldarorigemaobjetosquesero
persistidosembancodedadosequalseraestratgiaparahierarquia.Paraissoutilizamosas
seguintesanotaes:

@Entity
@Inheritance(strategy=InheritanceType.JOINED)
@DiscriminatorColumn(name="tipo")

Asanotaesacimadeveroserinseridasantesdonomedaclasse.Vejaimagemabaixo:

Figura33informaraoHibernatequeaclasseAnimaldarorigemaobjetosqueseropersistidosem
bancodedadosequalseraestratgiaparahierarquia

BenefrancisdoNascimento 45
SISTEMAWEB

Informando ao Hibernate qual ser o Id da tabela animal

ONetbeansirasugeriracriaodoidparahierarquiadaclasse,paracriaroidqueseroid
databelanobancodedados;insiraocdigoabaixoantesdoatributoidAnimal.Nodeixede
fazerasimportaessugeridaspeloNetbeans,pormselecionesempreasquecomeamcom
javax.persistence

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
privateintidAnimal;

Figura34Acriaodoidparahierarquiadaclasse

BenefrancisdoNascimento 46
SISTEMAWEB

Informando ao Hibernate quais os atributos da classe animal que


sero persistidos

Figura35Osatributosdaclasseanimalqueseropersistidos

BenefrancisdoNascimento 47
SISTEMAWEB

Encapsule os atributos da classe Animal

Paraencapsularoscamposdaclasseanimalacesseomenrefatorar/encapsularcampos.A
telaabaixoseraberta.Selecionetodososcamposecliqueemrefatorar.

Figura36EncapsulandocamposdaclasseAnimal

Crie mtodos construtores para a classe Animal


ParacriarmtodosconstrutoresparaaclasseAnimal,coloqueocursoremqualquerpartedo
cdigo fonte da classe Animal, sugiro que seja logo depois dos atributos, de o comando [
control + espao ]; abrir o men suspenso conforme a imagem abaixo. Clique em cima do
mtodocomonomedaclasse(omesmoqueselecioneinaimagem).Repitaaoperaoagora
selecionandoomtodosematributos.

Figura37MtodosconstrutoresparaaclasseAnimal

BenefrancisdoNascimento 48
SISTEMAWEB

A classe Cachorro

ExibimosabaixoaclasseCachorrojcomasdevidasanotaeseomtodoconstrutor.

Figura38AclasseCachorrojcomasdevidasanotaeseomtodoconstrutor.

BenefrancisdoNascimento 49
SISTEMAWEB

A classe Gato

ExibimosabaixoaclasseGatojcomasdevidasanotaeseomtodoconstrutor.

Figura39AclasseGatojcomasdevidasanotaeseomtodoconstrutor

BenefrancisdoNascimento 50
SISTEMAWEB

A classe abstrata Servico

IniciaremosacodificaodaclasseabstrataServico.

Figura40Aclasseabstrataservio



Mtodos da classe Servico que interagem com o banco de dados

Aseguirosmtodossalvar,consultar,alterareexcluirdaclasseServico.Quandoestiver
incluindoosmtodosabaixonaclasseServicooNetbeansirsugeriracriaodosmtodosna
classeServicoDAO.Aceiteasugesto.

BenefrancisdoNascimento 51
SISTEMAWEB

publicstaticbooleansalvar(Servicos){
returnServicoDAO.salvar(s);
}

publicstaticbooleansalvar(Animala){
returnServicoDAO.salvar(a);
}
publicstaticServicoconsultar(intidServico){
returnServicoDAO.consultar(idServico);
}
publicstaticCollection<Servico>consultar(Animala){
returnServicoDAO.consultar(a);
}
publicstaticCollection<Servico>consultar(){
returnServicoDAO.consultar();
}
publicstaticbooleanalterar(Servicos){
returnServicoDAO.alterar(s);
}
publicstaticbooleanexcluir(Servicos){
returnServicoDAO.excluir(s);
}
publicstaticbooleanexcluir(Animala){
returnServicoDAO.excluir(a);
}

BenefrancisdoNascimento 52
SISTEMAWEB

Mapeando a Classe Servico

IniciaremosomapeamentoobjetorelacionaldaclasseabstrataServico.

Informando que a classe Servico dar origem a objetos que sero


persistidos

PrecisamosinformaraoHibernatequeaclasseServicodarorigemaobjetosquesero
persistidosembancodedados.Paraissoutilizamosaseguinteanotao:
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
@DiscriminatorColumn(name="tipo")
Asanotaesacimadeveroserinseridasantesdonomedaclasse.Vejaimagemabaixo:

Figura41AclasseServicodarorigemaobjetosqueseropersistidosembancodedados

BenefrancisdoNascimento 53
SISTEMAWEB

Informando ao Hibernate quais os atributos da classe Servico que


sero persistidos

Asconstantesnoseromapeadas.

Figura42InformandoaoHibernatequaisosatributosdaclasseServicoqueseropersistidos

BenefrancisdoNascimento 54
SISTEMAWEB

Encapsule os atributos da classe Servico

ParaencapsularoscamposdaclasseServicoacesseomenrefatorar/encapsularcampos.A
telaabaixoseraberta.Selecionetodososcamposecliqueemrefatorar.

Figura43EncapsulandocamposdaclasseServico

Crie mtodos construtores para a classe Servico


ParacriarmtodosconstrutoresparaaclasseServico,coloqueocursoremqualquerpartedo
cdigo fonte da classe Servico, sugiro que seja logo depois dos atributos, de o comando [
control + espao ]; abrir o men suspenso conforme a imagem abaixo. Clique em cima do
mtodocomonomedaclasse(omesmoqueselecioneinaimagem).Repitaaoperaoagora
selecionandoomtodosematributos.

BenefrancisdoNascimento 55
SISTEMAWEB

Figura44MtodosconstrutoresparaaclasseServico

A classe Banho
AbaixoocdigoeanotaesdaclasseBanho

Figure2AclasseBanho

BenefrancisdoNascimento 56
SISTEMAWEB

A classe Consulta
AbaixoocdigoeanotaesdaclasseConsulta

Figure3Aclasseconsulta

BenefrancisdoNascimento 57
SISTEMAWEB

A classe Tosa
AbaixoocdigoeanotaesdaclasseTosa

A classe Vacina
AbaixoocdigoeanotaesdaclasseVacina

BenefrancisdoNascimento 58
SISTEMAWEB

Utilizando o Hibernate para criar as tabelas no banco de


dados

BenefrancisdoNascimento 59
SISTEMAWEB

Atualizando o arquivo hibernate.cfg.xml

Nestemomentoatualizaremosoarquivohibernate.cfg.xml.Deveremosincluirinformao
sobreasclassesqueforammapeadasemnossaaplicaoJava.
Abraoarquivoeincluaentreastags<sessionfactory></sessionfactory>ocdigoabaixo:

<mappingclass="br.com.benefrancis.controle.Pessoa"/>
<mappingclass="br.com.benefrancis.controle.PF"/>
<mappingclass="br.com.benefrancis.controle.PJ"/>

<mappingclass="br.com.benefrancis.controle.DocReceita"/>
<mappingclass="br.com.benefrancis.controle.CPF"/>
<mappingclass="br.com.benefrancis.controle.CNPJ"/>

<mappingclass="br.com.benefrancis.controle.Telefone"/>
<mappingclass="br.com.benefrancis.controle.Endereco"/>

<mappingclass="br.com.benefrancis.controle.Animal"/>
<mappingclass="br.com.benefrancis.controle.Cachorro"/>
<mappingclass="br.com.benefrancis.controle.Gato"/>

<mappingclass="br.com.benefrancis.controle.Servico"/>
<mappingclass="br.com.benefrancis.controle.Banho"/>
<mappingclass="br.com.benefrancis.controle.Consulta"/>
<mappingclass="br.com.benefrancis.controle.Tosa"/>
<mappingclass="br.com.benefrancis.controle.Vacina"/>

BenefrancisdoNascimento 60
SISTEMAWEB

Criando uma conexo com o hibernate

ParaobterconexescomoHibernatecriamosaclasseConexaoHibernatenopacotemodelo.
Ocdigopoderservisualizadonaimagemabaixo:

Figura45AclasseConexaoHibernate

AclasseConexaoHibernatepossuiumblocoestticonoqualpormeiodavarivel
sessionFactorycapturamosasconfiguraesinseridasnoarquivohibernate.cfg.xml.Criamos
tambmummtodoestticogetInstance()queretornarumasesso.

BenefrancisdoNascimento 61
SISTEMAWEB

Criando uma classe para testar o funcionamento do Hibernate

CriaremosaclasseTestandoHibernatenopacotemodelo.Estaclasseserutilizadaparatestar
ofuncionamentodonossosistema.Aprincipiocriaremosummtodoestticoparageraras
tabelasnobancodedados.Eummtodomain,poisnestemomentopoderemosexecutaro
sistemaparatestarofuncionamento.

Figura46TestandoofuncionamentodoHibernate

Podemosagoraexecutrarestearquivopormeiodoatalho[shift+F6].Oconsoleirimprimir
diversasinformaeseentreelasoscomandosdoSQLparacriaodastabelasnobancode
dados.Abaixo,segueoquefoiimprimido:

BenefrancisdoNascimento 62
SISTEMAWEB

Figura47SadadoconsoledaaplicaoquandoexecutamosomtodogerarTabelasdaclasse
TestandoHibernate

AgoravoltaremosparaoHeidiSQLparaverificarastabelascriadaspelanossaaplicao:

Figura48VerificandonoHeidiSqlastabelasgeradas

BenefrancisdoNascimento 63
SISTEMAWEB

Programando as classes DAO

BenefrancisdoNascimento 64
SISTEMAWEB

Introduo

Programaremos os mtodos das classes de acesso e manipulao dos dados de nossa


aplicao.
Quando estvamos criando os mtodos salvar, consultar, alterar e excluir das classes do
pacotecontrole,oNetbeansnossugeriacriarosmtodosnasclassesDAOdopacotemodelo.
CasotenhaaceitadoconformeorienteiosmtodosforamcriadosnasrespectivasclassesDAO.
Porm o contedo dos mtodos lana uma exceo dizendo que o mtodo no foi
implementado.Vejaaexceoabaixo:

Figura49Exceodemtodoquenofoiimplementado

DeveremosinserirocontedodosmtodosdasclassesDAO.Eestaseranossaatividade
nestecapitulo.OscdigosdasclassesDAOseromuitosemelhantesaosmtodosdasoutras
classesdeacessoemanipulaodedados.Vejam.

Implementado os mtodos da classe PessoaDAO

Parapersistiremanipularosdadosemnossaaplicaocomseguranatrabalharemoscomo
conceitodetransao.OhibernatepossuioobjetoTransactionparaessefim.Destaforma,
emcasodeerroduranteoprocessamentoaaplicaofarorollback,mantendoassimnosso
bancodedadosintegro.
Todacomunicaonessesmtodosdependerodeumasessocomohibernate,poresse
motivoutilizaremosavarivelsessiondotipoorg.hibernate.Session.

BenefrancisdoNascimento 65
SISTEMAWEB

Salvar
Nestemtodosalvaremosumapessoanobancodedados.Omtodoesperacomoparmetro
umobjetodotipoPessoa.Poderemosenviarpessoasfsicasepessoasjurdicas,poisesteum
clssicomtodopolifrmico.

Figura50MtodosalvardaclassePessoaDAO

Para salvar uma pessoa no banco de dados utilizamos polimorfismo por meio de mtodo
polifrmico.ReparequenomtodosalvaroparmetroesperadodotipoPessoa,entretanto
seenviarmosumaPFouPJasinformaesserosalvascorretamentenastabelasdobancode
dados. Outra tcnica importante da orientao a objeto empregada nesta classe a
sobrecargademtodospresentenomtodoconsultar(vejaaassinaturadosmtodos).

BenefrancisdoNascimento 66
SISTEMAWEB

Consultar pessoa pelo id


Nestemtodoconsultaremosumapessoapeloid.Estemtodoesperauminteirocomo
parmetro.RetornarumobjetodotipoPessoa.

Figura51ConsultandoPessoapeloid

BenefrancisdoNascimento 67
SISTEMAWEB

Consultar Todas as pessoas

Usaremosasobrecargademtodosparacriarmaisumaopodeconsulta.Agora
consultaremostodasaspessoascadastradas.

Figura52Consultandotodasaspessoascadastradas

BenefrancisdoNascimento 68
SISTEMAWEB

Consultar pessoa pelo nome

Consultaremospessoapelonome.EstemtodoesperacomoparmetroumaStringe
retornarumacoleodeobjetosdotipopessoa.

Figura53Consultandopessoaspelonome

BenefrancisdoNascimento 69
SISTEMAWEB

Alterando pessoas

Agoraabordaremosomtodoalterar.Estemtodorecebeumobjetodotipopessoacomo
parmetroeretornaverdadeiro;seaatualizaoforconcretizada,oufalsocasoacontea
algumaexceo.

Figura54Alterandopessoa

BenefrancisdoNascimento 70
SISTEMAWEB

Excluindo pessoas

Codificaremosomtodoexcluir.Estemtodorecebecomoparmetroumobjetodotipo
pessoaeretornarverdadeiro;seatransaoconcluircomsucesso,oufalsocasoacontea
algumaexceo.

Figura55Excluindopessoas

BenefrancisdoNascimento 71
SISTEMAWEB

Implementado os mtodos da classe AnimalDAO

Salvar

Nestemtodosalvaremosumanimalnobancodedados.Omtodoesperacomoparmetro
umobjetodotipoAnimal.Poderemosenviarcachorrosougatos,poisesteumclssico
mtodopolifrmico.

Figura56Salvandoanimais

BenefrancisdoNascimento 72
SISTEMAWEB

Salvando todos os animais de uma pessoa

Criamosummtodoparasalvartodososanimaisdeumapessoa.

Figura57Salvandotodososanimaisdeumapessoa

BenefrancisdoNascimento 73
SISTEMAWEB

Consultando animais pelo Id

Codificaremosomtodoqueconsultaanimalpeloid

Figura58ConsultandoanimaispeloId

BenefrancisdoNascimento 74
SISTEMAWEB

Alterando animais

CodificaremosomtodoalterardaclasseanimalDAO.

Figura59Alterandoanimal

BenefrancisdoNascimento 75
SISTEMAWEB

Excluindo animal

AbaixoocdigodomtodoexcluirdaclasseAnimalDAO.

Figura60Excluindoanimal

BenefrancisdoNascimento 76
SISTEMAWEB

Excluindo todos os animais de uma pessoa

Codificaremosummtodoparaexclusodetodososanimaisdeumapessoa.

Figura61Excluindotodososanimaisdeumapessoa

BenefrancisdoNascimento 77
SISTEMAWEB

Implementado os mtodos da classe ServicoDAO

IniciaremosagoraacodificaodosmtodosdaclasseServicoDAO.

Salvar

AbaixoomtodosalvardaclasseServicoDAO.

Figura62Salvandoservios

BenefrancisdoNascimento 78
SISTEMAWEB

Consultando servio pelo id

Abaixoocdigoparaconsultadeserviopeloid.

Figura63Consultandoserviopeloid

BenefrancisdoNascimento 79
SISTEMAWEB

Salvando todos os servios de um animal

Codificaremosummtodoparasalvartodososserviosdeumanimal.

Figura64Salvandotodososserviosdeumanimal

BenefrancisdoNascimento 80
SISTEMAWEB

Consultando todos os servios de um animal

Codificaremosomtodoquedeverretornartodosserviosrealizadosemumanimal.

Figura65Consultandotodosserviosrealizadosemumanimal

BenefrancisdoNascimento 81
SISTEMAWEB

Excluindo todos os servios de um animal

Codificaremosummtodoparaquesejapossvelexcluirtodososserviosdeumanimal.

Figura66Excluindotodososserviosdeumanimal

BenefrancisdoNascimento 82
SISTEMAWEB

Alterando servio

Desenvolvendomtodoparaalterarumservio.

Figura67Alterandoservio

BenefrancisdoNascimento 83
SISTEMAWEB

Excluindo servio

Abaixoocdigoparaexclusodeservio

Figura68Excluindoservio

BenefrancisdoNascimento 84
SISTEMAWEB

Implementado os mtodos da classe TelefoneDAO

IniciaremosagoraacodificaodosmtodosdaclasseTelefoneDAO.

salvar

Figura69Salvandoumtelefone

BenefrancisdoNascimento 85
SISTEMAWEB

Consultando telefone pelo Id

Figura70Consultandotelefonepeloid

BenefrancisdoNascimento 86
SISTEMAWEB

Consultando todos os telefones de uma pessoa

Omtodoabaixoproveaconsultadetodosostelefonesdeumapessoa.

Figura71Consultandotodosostelefonesdeumapessoa

BenefrancisdoNascimento 87
SISTEMAWEB

Salvando todos os telefones de uma pessoa

Omtodoabaixosalvatodosostelefonesdeumapessoa

Figura72Salvandotodosostelefonesdeumapessoa

BenefrancisdoNascimento 88
SISTEMAWEB

Excluindo telefone

Omtodoabaixoexcluiumtelefonedabasededados

Figura73Excluindotelefone

BenefrancisdoNascimento 89
SISTEMAWEB

Excluindo todos os telefones de uma pessoa

Ocdigoabaixoexcluitodosostelefonesdeumapessoa

Figura74Excluindotodosostelefonesdeumapessoa

BenefrancisdoNascimento 90
SISTEMAWEB

Implementado os mtodos da classe EnderecoDAO

IniciaremosagoraacodificaodosmtodosdaclasseEnderecoDAO.

Salvar

Omtodoabaixosalvaumendereonobancodedados

Figura75Salvandotodososendereosdeumapessoa

BenefrancisdoNascimento 91
SISTEMAWEB

Consultando endereo pelo Id

OmtodoabaixoconsultaendereopeloId.

Figura76Consultandoendereopeloid

BenefrancisdoNascimento 92
SISTEMAWEB

Consultando todos os endereos de uma pessoa

Omtodoabaixoconsultatodososendereosdeumapessoa.

Figura77Consultandotodososendereosdeumapessoa

BenefrancisdoNascimento 93
SISTEMAWEB

Alterando um endereo

Abaixocodificaremosummtodoparaalterarendereo

Figura78Alterandoumendereo

BenefrancisdoNascimento 94
SISTEMAWEB

Excluindo um endereo

Omtodoabaixoexcluiumendereo

Figura79Excluindoendereo

BenefrancisdoNascimento 95
SISTEMAWEB

Excluindo todos os endereos de uma pessoa

Omtodoabaixoexcluitodososendereosdeumapessoa.

Figura80Excluindotodososendereosdeumapessoa

BenefrancisdoNascimento 96
SISTEMAWEB

Testando os mtodos das classes do pacote DAO

BenefrancisdoNascimento 97
SISTEMAWEB

Salvando pessoa, telefone, endereo, animais e servios.

TestaremosagoraosmtodosdasclassesdopacoteDAO.Paraissoincluiremosummtodoa
classeTestandoHibernate.
NestemtodoinvocamosapenasomtodosalvardaclassePessoa,pormtodososoutros
objetosaelarelacionadosforamcriados.
Vejacdigoabaixo:
privatestaticvoidpersistindo()throwsException{
PFpf=newPF();
pf.setNome("BenefrancisdoNascimento");
pf.setEmail("benefrancis@gmail.com");
pf.setSenha("root");

DocReceitacpf=newCPF("24878891874");
pf.setDocReceita(cpf);
cpf.setPessoa(pf);

Enderecoend=newEndereco();
end.setBairro("JdLeni");
end.setCep("05818250");
end.setCidade("SoPaulo");
end.setLogradouro("RuafaustinoAllende");
end.setNumero("39");
end.setUf("SP");
end.setPessoa(pf);

BenefrancisdoNascimento 98
SISTEMAWEB

Collection<Endereco>e=newArrayList<Endereco>();
e.add(end);
pf.setEndereco(e);

Telefonet=newTelefone();
t.setDdd(11);
t.setNumero("82816536");
t.setPessoa(pf);

Collection<Telefone>tel=newArrayList<Telefone>();
tel.add(t);
pf.setTelefone(tel);

Animala=newCachorro();
Dated=newDate(2000,5,15);
a.setDataNascimento(d);
a.setNome("Pluto");
a.setRaca("Viralata");
a.setSexo('M');
a.setObservacao("Cachorromuitosemvergonha!");
a.setPessoa(pf);

Servicos=newBanho();
DatediaBanho=newDate(2010,11,18);
s.setData(diaBanho);

BenefrancisdoNascimento 99
SISTEMAWEB

s.setDescricao("Banhocompleto");
s.setValor(20.95);
s.setAnimal(a);

Collection<Servico>serv=newArrayList<Servico>();
serv.add(s);
a.setServico(serv);

Collection<Animal>ani=newArrayList<Animal>();
ani.add(a);
pf.setAnimal(ani);

pf.salvar(pf);
}

VerificaremosagoranoHeidiSqlsetodososcamposdastabelasforampreenchidos
corretamente.
Paraissoexecutaremososeguintecomando:
select Pessoa.*, Endereco.*, Animal.*, Servico.* from
Pessoa left join Telefone on (Pessoa.idPessoa = Telefone.idPessoa)
left join Endereco on (Pessoa.idPessoa = Endereco.idPessoa)
left join Animal on (Pessoa.idPessoa = Animal.idPessoa)
left join Servico on (Animal.idAnimal = Servico.idAnimal);

BenefrancisdoNascimento 100
SISTEMAWEB

Figura81Resultadodaconsultadosdadosgravadosnobancodedados

BenefrancisdoNascimento 101
SISTEMAWEB










Criando as pginas JSP

BenefrancisdoNascimento 102
SISTEMAWEB

Mapa do site

Onossosistemawebdeverseguiraestruturarepresentadanomapadositeabaixo:
Index.jsp

Inicio.jsp

cadastros

Pessoa.jsp

servios

Registrar.jsp

consultas

Animal.jsp

Detalhe_animal.jsp
Animal.jsp
Editar_animal.jsp
Excluir_animal.jsp
Pessoa.jsp
Detalhe_pessoa.jsp
Editar_pessoa.jsp
Excluir_pessoa.jsp
Servico.jsp
Detalhe_servico.jsp
Editar_servico.jsp
Excluir_servico.jsp

Figura82Mapadosite

Criando diretrios necessrios

Agoratrabalharemoscomacamadadeapresentaoe,destaformasernecessriocriar
diretriosparaarmazenarimagens,css,javascripteetc.Paracriarumdiretrionoseuprojeto
web.
CliquecomobotodireitodomouseemcimadapastaPginaswebummensuspenso
aparecer;neleselecione:Novo/Diretrio.Ajanelaabaixoserexibida.

BenefrancisdoNascimento 103
SISTEMAWEB

Figura83Criandoumnovodiretrioacessvelparaainternetnoseuprojetoweb

Crieosdiretriosconformetabelaabaixo:
Tabela1Osdiretriosdonossosistemaweb

NOME

Motivo

images

Serolocalondeguardaremosasimagensdo
nossosistemaweb.

css

Ondeseroinseridososarquivosdeestilo.

javascript

OndeestaroosarquivosJavascript

geral

Ondeestarocontedohtmlqueaparecer
emtodasastelas:

head.jspondefaremososimportes
necessrios.

topo.jsptopodositeeomen

rodap.jsprodapdosite

inicio.jspteladeboasvindasdo
sistema(apsautenticao)

BenefrancisdoNascimento 104
SISTEMAWEB

Iniciando a programao das pginas JSP


Importando as classes necessrias
ParasetrabalharcomclassesJavaempginasJSP,necessitaremosfazeroimportedasclasses
queprecisaremosutilizar.Portantoemnossaaplicaonecessitaremosfazeroimportedas
classesdopacotecontrole.Paraevitaresquecimentodealgumaclassepoderemosfazero
importedetodasasclassesdestepacote.Vejacomofazernasegundalinhadocdigona
imagemabaixo:

Figura84Importandotodasasclassesdopacotecontrole

Portantoincluaatag<%@pageimport="br.com.benefrancis.controle.*"%>emtodasas
pginasdenossosistemaweb.

Index.jsp
Oarquivoindex.jspdeverestnaraizdanossaaplicaoweb(diretrioPginasweb).
Napaginaindex,ouseja,aprimeirapginaqueserabertaemnossaaplicao.
Desenvolveremosumatelaondeousuriodeverserautenticado.
Ateladeverterumformulrio.Vejaatag:
<formname="FrmLogin"id="FrmLogin"method="POST"action="index.jsp">
<!Incluiroscamposdoformulrioaqui>
</form>
Deverpossuirumcampooculto,doiscamposeditveiseumbotoobedecendoaoque
descreveatabelaabaixo:

TIPO

NOME

SIZE

VALUE

text

usuario

15

password

senha

15

hidden

op

submit

btn_autenticar

Autenticar

BenefrancisdoNascimento 105
SISTEMAWEB

Odesignsemelhanteteladaimagemaseguir:

Figura85Layoutdapginaindex.jsp

Cdigo fonte Java da pagina index.jsp


Ocdigofontedaimagemabaixorecebenalinha52ovalordocampohiddeneoconverte
parainteiro,jnaslinhas57e58receberosparmetrossobreusurioesenhadoformulrio
eacionaomtodoautenticardoobjetoPF.

BenefrancisdoNascimento 106
SISTEMAWEB

Figura86Autenticandoindex.jsp

Cdigo fonte completo da pagina index.jsp

<%@pagecontentType="text/html"pageEncoding="UTF8"%>
<%@pageimport="br.com.benefrancis.controle.*"%>
<!DOCTYPEHTMLPUBLIC"//W3C//DTDHTML4.01Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttpequiv="ContentType"content="text/html;charset=UTF8">
<title>PETSHOP</title>
<linkrel="stylesheet"type="text/css"href="css/Estilo.css">
</head>
<body>

BenefrancisdoNascimento 107
SISTEMAWEB

<formname="FrmLogin"id="FrmLogin"method="POST"action="index.jsp">
<tablewidth="103%"border="0"cellpadding="0"cellspacing="0"align="center">
<tr>
<tdalign="center"valign="middle">
<tablewidth="750"border="0"cellspacing="0"cellpadding="0"align="center"
>
<tr>
<tdwidth="40%"height="500"align="center"valign="middle">
<imgsrc="images/login.png"alt="Petshop"/>
</td>
<tdwidth="60%"align="center"valign="middle">
<tableborder="0">
<tr>
<tdclass="Txt">USUARIO</td>
<tdclass="Txt"><inputtype="text"name="usuario"value=""
size="15"/></td>
</tr>
<tr>
<tdclass="Txt">SENHA</td>
<tdclass="Txt"><inputtype="password"name="senha"value=""
size="15"/></td>
</tr>
<tr>
<tdcolspan="2"><hrsize="1"><inputtype="hidden"name="op"
value="1"/></td>
</tr>
<tr>

BenefrancisdoNascimento 108
SISTEMAWEB

<td></td>
<td><inputtype="submit"value="Autenticar"
name="btn_autenticar"/></td>
</tr>
<tr><tdcolspan="2"class="Txt">
<%
Stringusuario="";
Stringsenha="";
intop=0;
try{
op=Integer.parseInt(request.getParameter("op"));
}catch(Exceptionex){}
try{
if(op==1){
usuario=request.getParameter("usuario");
senha=request.getParameter("senha");
Autenticavelp=newPF().autenticar(usuario,senha);
if(p!=null){
session.setAttribute("Usuario",p);
StringnovaURL="geral/inicio.jsp";
response.sendRedirect(novaURL);
}else{
out.print("<br>");
out.print("<center><fontface='verdana'color='red'"+
"size='2'>Usuarioousenhainvlidos</font></center>");
out.print("<br>");

BenefrancisdoNascimento 109
SISTEMAWEB

}
}
}catch(Exceptione){}
%>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</body>
</html>

BenefrancisdoNascimento 110
SISTEMAWEB

Codificando arquivos do diretrio geral


BenefrancisdoNascimento 111
SISTEMAWEB

Head.jsp

Abaixoocontedodoarquivohead.jsp

Figura87contedodoarquivohead.jsp

BenefrancisdoNascimento 112
SISTEMAWEB

Topo.jsp

Abaixoocontedodoarquivotopo.jsp

Figura88Cdigodoarquivotopo.jsp

Rodap.jsp

Abaixoocdigodoarquivorodap.jsp

Figura89Cdigodoarquivorodap.jsp

BenefrancisdoNascimento 113
SISTEMAWEB

Inicio.jsp

Abaixoocdigodoarquivoinicio.jsp.Ateladeboasvindasdanossaaplicao.

Figura90Cdigodoarquivoinicio.jsp

BenefrancisdoNascimento 114
SISTEMAWEB

Layout da tela de boas vindas

Abaixoateladeboasvindasdanossaaplicao.

Figura91Ateladeboasvindasdanossaaplicao

BenefrancisdoNascimento 115
SISTEMAWEB

Codificando arquivos do diretrio cadastros

BenefrancisdoNascimento 116
SISTEMAWEB

Pessoa.jsp

Oarquivopessoa.jspdodiretriocadastrosseranossatelaparacadastramentodepessoas
emnossosistemas.Umapessoaserumusurioutilizadordosistema.Osistemadever
verificarseexisteumapessoacadastradanosistema.Parafazeraverificaodeveremos
verificar,antesdocadastramentodeumapessoa,se:
1. Oemailinformadojestregistradonobancodedados;
2. Seodocumentodareceitajestcadastradonosistema.

Ateladeverpossuirumformulrio.Vejaatag:
<formaction="pessoa.jsp"method="post"name="Formulario">
<!Incluiroselementosdoformulrioaqui>
</form>

Elementos do formulrio
Abaixoseguealistadoselementosesuaspropriedades:
Tabela2Elementosdoformulriodapginaparacadastramentodepessoa

ndice

Id

Nome

Tipo

Valor

Tamanho

Tamanho
mximo

Tipo

Tipo

select

razao

razao

text

50

100

CNPJ

CNPJ

text

24

18

Nome

Nome

text

50

100

CPF

CPF

text

17

14

email

email

text

50

200

senha

senha

text

50

200

TelDDD TelDDD

text

Tel

text

12

10

Tel

BenefrancisdoNascimento 117
SISTEMAWEB

TelCelDDD

text

10

TelCel

text

12

10

11

TelFaxDDD

text

12

TelFax

text

12

10

13

logradouro

text

50

50

14

Numero

text

10

10

15

Complemento

text

30

50

16

Bairro

text

30

50

17

Cidade

text

30

50

18

uf

select

19

CEP

text

20

op

hidden

21

Btn_Entrar

button

Cadastrar

12

Cdigo fonte Java do arquivo pessoa.jsp

Exibiremosabaixoocdigofontedapginadecadastramentodepessoas.Nosernecessrio
digitarocdigoabaixo,poisoarquivofoidisponibilizado.

BenefrancisdoNascimento 118
SISTEMAWEB

<%@pagecontentType="text/html"pageEncoding="UTF8"%>
<%@pageimport="br.com.benefrancis.controle.*"%>
<%@pageimport="br.com.benefrancis.util.Util"%>
<%@pageimport="java.util.ArrayList"%>
<%@pageimport="java.util.Date"%>
<!DOCTYPEHTMLPUBLIC"//W3C//DTDHTML4.01Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<jsp:includepage="../geral/head.jsp"/>
<body>
<formaction="pessoa.jsp"method="post"name="Formulario">
<tablewidth="750"border="0"cellpadding="0"cellspacing="0"align="center">
<tr>
<tdcolspan="2">
<jsp:includepage="../geral/topo.jsp"/>
</td>
</tr>
<tr>
<tdcolspan="2">
<%
intop=0;
Stringtipo=null;
Pessoapessoa=null;
Stringusername=null;
Stringsenha=null;
DocReceitadocReceita=null;
try{
op=Integer.parseInt(Util.SoNumero(request.getParameter("op")));
}catch(Exceptionex){

BenefrancisdoNascimento 119
SISTEMAWEB

try{
if(op==1){//Oformulriofoienviado
try{
tipo=request.getParameter("Tipo");
}catch(Exceptionex){
}
if(tipo=="PJ"){
Stringrazao=null;
try{
razao=request.getParameter("razao");
docReceita=newCNPJ(request.getParameter("CNPJ"));
//Criandoumapessoajuridica
pessoa=newPJ();
pessoa.setDocReceita(docReceita);
pessoa.setNome(razao);
docReceita.setPessoa(pessoa);
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("<center>"+
"<fontface='verdana'color='red'"+
"size='2'>ErroaocadastrarUtilizador."+
"<br/>VerifiqueosdadosdePessoaJurdica"+
"tentenovamente</font></center>");
}
}else{
try{
Stringnome=request.getParameter("Nome");

BenefrancisdoNascimento 120
SISTEMAWEB

docReceita=newCPF(request.getParameter("CPF"));
//Criandoumapessoafsica
pessoa=newPF();
pessoa.setDocReceita(docReceita);
pessoa.setNome(nome);
docReceita.setPessoa(pessoa);
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("<center>"+
"<fontface='verdana'color='red'"+
"size='2'>ErroaocadastrarUtilizador."+
"<br/>VerifiqueosdadosdePessoafsica"+
"tentenovamente</font></center>");
}
}
//JexistepessoacomoCPFouCNPJinformado?
if(pessoa.existe(docReceita)==true){
if(pessoa.getTipo()==1){
thrownewRuntimeException("<br>"+
"<center><fontface='verdana'"+
"color='red'size='2'><br/>"+
"jexisteclientecadastradocom"+
"oCPFinformado</font></center><br>");
}else{
thrownewRuntimeException("<br>"+
"<center><fontface='verdana'"+
"color='red'size='2'><br/>"+
"jexisteclientecadastradocom"+
"oCNPJinformado</font></center><br>");

BenefrancisdoNascimento 121
SISTEMAWEB

}
}
try{
username=request.getParameter("email");
senha=request.getParameter("senha");
}catch(Exceptionex){
thrownewRuntimeException("Verifique"+
"seoemailesenhaforam"+
"digitadoscorretamente");
}
if(username==""||senha==""){
thrownewRuntimeException("<center>"+
"<fontface='verdana'color='red'"+
"size='2'><br/>Verifiqueoemail"+
"esenhaforamdigitadoscorretamente"+
"</font></center>");
}elseif(pessoa.existe(username)==true){
thrownewRuntimeException("<br><center>"+
"<fontface='verdana'color='red'"+
"size='2'><br/>jexisteusurio"+
"cadastradocomoemaildigitado</font>"+
"</center><br>");
}else{
pessoa.setEmail(username);
pessoa.setSenha(senha);
}
//Telefonesdapessoa
ArrayList<Telefone>telefone=newArrayList<Telefone>();

BenefrancisdoNascimento 122
SISTEMAWEB

try{
intdddTel=Integer.parseInt(Util.SoNumero(request.getParameter("TelDDD")));
StringTel=Util.SoNumero(request.getParameter("Tel"));
if(dddTel!=0&&Tel!=""){
telefone.add(newTelefone(dddTel,Tel,pessoa));
}
}catch(ExceptioneTel){
}
try{
intdddCel=Integer.parseInt(Util.SoNumero(request.getParameter("TelCelDDD")));
StringCel=Util.SoNumero(request.getParameter("TelCel"));
if(dddCel!=0&&Cel!=""){
telefone.add(newTelefone(dddCel,Cel,pessoa));
}
}catch(ExceptioneCel){
}
try{
intdddFax=Integer.parseInt(Util.SoNumero(request.getParameter("TelFaxDDD")));
StringFax=Util.SoNumero(request.getParameter("TelFax"));
if(dddFax!=0&&Fax!=""){
telefone.add(newTelefone(dddFax,Fax,pessoa));
}
}catch(ExceptioneFax){
}
//Endereosdapessoa
ArrayList<Endereco>end=newArrayList<Endereco>();
Enderecoendereco=newEndereco();
Stringlogradouro="";
Stringnumero="";

BenefrancisdoNascimento 123
SISTEMAWEB

Stringcomplemento="";
Stringbairro="";
Stringcep="";
Stringcidade="";
Stringuf="";
try{
logradouro=request.getParameter("logradouro");
numero=request.getParameter("Numero");
complemento=request.getParameter("Complemento");
bairro=request.getParameter("Bairro");
cep=Util.SoNumero(request.getParameter("CEP"));
cidade=request.getParameter("Cidade");
uf=request.getParameter("uf");
if(logradouro==""||numero==""
||bairro==""||cidade==""
||uf==""||cep==""){
thrownewRuntimeException("Oendereodeveconter"+
"logradouro,nmero,Bairro,"+
"Cidade,EstadoeCEP");
}else{
endereco.setLogradouro(logradouro);
endereco.setBairro(bairro);
endereco.setCep(cep);
endereco.setCidade(cidade);
endereco.setComplemento(complemento);
endereco.setNumero(numero);
endereco.setUf(uf);
endereco.setPessoa(pessoa);
end.add(endereco);

BenefrancisdoNascimento 124
SISTEMAWEB

}
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("Logradouroumcampoobrigatrio");
}
//Salvandoapessoaetodososseuarelacionamentosembancodedados
//AdicionandoaPessoa
pessoa.setTelefone(telefone);
pessoa.setEndereco(end);
pessoa.setAnimal(null);
//Salvando:
pessoa.salvar(pessoa);
out.print("<br>");
out.print("<br>");
out.print("<br>");
out.print("<center><fontface='verdana'color='blue'size='2'>Utilizadorcadastradocom
sucesso</font></center>");
out.print("<br>");
out.print("<br>");
out.print("<br>");
}else{//Seopfordiferentede1
%>

</td>
</tr>
<tr>
<tdwidth="162"class="Txt">Tipo</td>
<tdwidth="436"class="Txt">
<selectname="Tipo"id="Tipo"
onChange="showCampo(document.forms[0][this.name].options[document.forms[0][this.name].selecte

BenefrancisdoNascimento 125
SISTEMAWEB

dIndex].value,'campo_hidden');">
<optionvalue="0">Selecione</option>
<optionvalue="PJ">PJ</option>
<optionvalue="PF">PF</option>
</select>
</td>
</tr>
<trid="campo_hiddenPJ"style="display:none">
<tdheight="104"colspan="2"valign="top">

<tablewidth="100%"border="0"cellpadding="0"cellspacing="0">
<!DWLayoutTable>
<tr>
<tdheight="1"colspan="2"valign="top"><hrsize="1"></td>
</tr>
<tr>
<tdheight="22"colspan="2"valign="top"class="Txt"><strong>PESSOAJURDICA
</strong></td>
</tr>
<tr>
<tdwidth="23%"height="27"valign="top"class="Txt">RAZOSOCIAL</td>
<tdwidth="77%"valign="top"class="Txt"><inputname="razao"type="text"
id="razao"size="50"maxlength="100">
<spanclass="style1">*</span></td>
</tr>

<tr>
<tdheight="27"valign="top"class="Txt">CNPJ</td>
<tdvalign="top"class="Txt"><inputname="CNPJ"type="text"id="CNPJ"
OnKeyPress="formatar(this,'##.###.###/######')"onKeyUp="javascript:Sonumero(this)"size="24"
maxLength="18">

BenefrancisdoNascimento 126
SISTEMAWEB

+</td>
</tr>
</table>
</td>

</tr>

<trid="campo_hiddenPF"style="display:none">
<tdheight="104"colspan="2"valign="top">

<tablewidth="100%"border="0"cellpadding="0"cellspacing="0">
<!DWLayoutTable>
<tr>
<tdheight="1"colspan="2"valign="top"><hrsize="1"></td>
</tr>
<tr>
<tdheight="22"colspan="2"valign="top"class="Txt"><strong>PESSOAF&Iacute;SICA
</strong></td>
</tr>
<tr>
<tdwidth="20%"valign="top"class="Txt">NomeCompleto</td>
<tdwidth="80%"valign="top"class="Txt"><inputname="Nome"type="text"
id="Nome"size="50"maxlength="100">
<spanclass="style1">*</span></td>
</tr>

<tr>
<tdwidth="25%"valign="top"class="Txt">CPF</td>
<tdwidth="75%"valign="top"class="Txt"><inputname="CPF"type="text"id="CPF"
OnKeyPress="formatar(this,'###.###.#####')"onKeyUp="javascript:Sonumero(this)"size=17
maxlength="14">

BenefrancisdoNascimento 127
SISTEMAWEB

+</td>
</tr>
</table>
</td>

</tr>
<tr>
<tdid="contato"height="104"colspan="2"valign="top">

<tablewidth="100%"border="0"cellpadding="0"cellspacing="0">
<!DWLayoutTable>

<tr>
<tdcolspan="2"><hrsize="1"></td>
<td></td>
</tr>
<tr>
<tdcolspan="2"class="Txt"><strong>USUARIODOSISTEMA</strong></td>
<td></td>
</tr>

<tr>
<tdwidth="162"height="27"valign="top"class="Txt">Email</td>
<tdwidth="436"valign="top"class="Txt"><inputname="email"type="text"
id="email"size="50"maxlength="200">
<spanclass="style1">*</span></td>
</tr>
<tr>
<tdwidth="162"height="27"valign="top"class="Txt">Senha</td>
<tdwidth="436"valign="top"class="Txt"><inputname="senha"type="text"

BenefrancisdoNascimento 128
SISTEMAWEB

id="senha"size="50"maxlength="200">
<spanclass="style1">*</span></td>
</tr>
<tr>
<tdcolspan="2"><hrsize="1"></td>
<td></td>
</tr>
<tr>
<tdcolspan="2"class="Txt"><strong>CONTATO</strong></td>
<td></td>
</tr>

<tr>
<tdclass="Txt">Telelefone</td>
<tdclass="Txt">(<inputname="TelDDD"type="text"id="TelDDD"
onKeyUp="javascript:Sonumero(this)"size="2"maxlength="2">)<inputname="Tel"type="text"id="Tel"
OnKeyPress="formatar(this,'########')"onKeyUp="javascript:Sonumero(this)"size="12"
maxlength="10"></td>
<td></td>
</tr>
<tr>
<tdclass="Txt">Celular</td>
<tdclass="Txt">(<inputname="TelCelDDD"type="text"
onKeyUp="javascript:Sonumero(this)"size="2"maxlength="2">)<inputname="TelCel"type="text"
OnKeyPress="formatar(this,'########')"onKeyUp="javascript:Sonumero(this)"size="12"
maxlength="10"></td>
<td></td>
</tr>
<tr>
<tdclass="Txt">Fax</td>
<tdclass="Txt">(<inputname="TelFaxDDD"type="text"
onKeyUp="javascript:Sonumero(this)"size="2"maxlength="2">)<inputname="TelFax"type="text"
OnKeyPress="formatar(this,'########')"onKeyUp="javascript:Sonumero(this)"size="12"

BenefrancisdoNascimento 129
SISTEMAWEB

maxlength="10"></td>
<td></td>
</tr>
<tr>
<tdcolspan="2"><hrsize="1"></td>
<td></td>
</tr>
<tr>
<tdcolspan="2"class="Txt"><strong>ENDERE&Ccedil;O</strong></td>
<td></td>
</tr>
<tr>
<tdclass="Txt">LOGRADOURO</td>
<tdclass="Txt"><inputname="logradouro"type="text"size="50"
maxlength="50"></td>
<td></td>
</tr>
<tr>
<tdclass="Txt">N</td>
<tdclass="Txt"><inputname="Numero"type="text"size="10"maxlength="10"></td>
<td></td>
</tr>
<tr>
<tdclass="Txt">Complemento</td>
<tdclass="Txt"><inputname="Complemento"type="text"size="30"
maxlength="50"></td>
<td></td>
</tr>
<tr>
<tdclass="Txt">Bairro</td>

BenefrancisdoNascimento 130
SISTEMAWEB

<tdclass="Txt"><inputname="Bairro"type="text"size="30"maxlength="50"></td>
<td></td>
</tr>
<tr>
<tdclass="Txt">Cidade</td>
<tdclass="Txt"><inputname="Cidade"type="text"size="30"maxlength="50"></td>
<td></td>
</tr>
<trid="estados">
<tdclass="Txt">Estado</td>
<tdclass="Txt">
<selectname="uf">
<optionvalue="">Selecione</option>
<optionvalue="AC">AC</option>
<optionvalue="AL">AL</option>
<optionvalue="AP">AP</option>
<optionvalue="AM">AM</option>
<optionvalue="BA">BA</option>
<optionvalue="CE">CE</option>
<optionvalue="DF">DF</option>
<optionvalue="ES">ES</option>
<optionvalue="GO">GO</option>
<optionvalue="MA">MA</option>
<optionvalue="MT">MT</option>
<optionvalue="MS">MS</option>
<optionvalue="MG">MG</option>
<optionvalue="PA">PA</option>
<optionvalue="PB">PB</option>
<optionvalue="PR">PR</option>

BenefrancisdoNascimento 131
SISTEMAWEB

<optionvalue="PE">PE</option>
<optionvalue="PI">PI</option>
<optionvalue="RJ">RJ</option>
<optionvalue="RN">RN</option>
<optionvalue="RS">RS</option>
<optionvalue="RO">RO</option>
<optionvalue="RR">RR</option>
<optionvalue="SC">SC</option>
<optionvalue="SP">SP</option>
<optionvalue="SE">SE</option>
<optionvalue="TO">TO</option>
</select></td>
<td></td>
</tr>
<tr>
<tdclass="Txt">CEP</td>
<tdclass="Txt">
<inputname="CEP"type="text"OnKeyPress="formatar(this,'########')"
onKeyUp="javascript:Sonumero(this)"size="12"maxlength="9">

+</td>

<td></td>
</tr>
</table>
</td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
<td></td>
</tr>
<tr><td>&nbsp;</td></tr>

BenefrancisdoNascimento 132
SISTEMAWEB

<tr>
<tdclass="Txt"width="20">&nbsp;</td>
<tdclass="Txt"width="80"align="left">
<inputtype="hidden"name="op"value="1"/>
<inputtype="button"name="Btn_Entrar"value="Cadastrar"
onClick="Validar(document.Formulario);">
</td>
</tr>
<tr><td>&nbsp;</td></tr>
<%}
}catch(Exceptione){
out.print("<br>");
out.print("<center><fontface='verdana'color='red'size='2'>"
+"ErroaocadastrarUtilizador</font></center>");
out.print(e.getMessage());
}
%>
<tr>
<tdcolspan="2">
<jsp:includepage="../geral/rodape.jsp"/>
</td>
</tr>
</table>
</form>
</body>
</html>
Figura92Cdigofontedoarquivopessoa.jspdodiretriocadastros

Layout da pgina de cadastramento de pessoa

BenefrancisdoNascimento 133
SISTEMAWEB

Abaixoolayoutdapginadecadastramentodepessoa.

Figura93Layoutdapginadecadastramentodepessoa

Animal.jsp

Paracadastrarumanimalousuriodeverprimeiroselecionarodonodoanimaleemseguida
pressionarobotoprosseguir.Emseguidadigitarosdadosdoanimaleporfimpressionaro
botocadastrar.

Elementos do formulrio
Abaixoseguealistadoselementosesuaspropriedades:

BenefrancisdoNascimento 134
SISTEMAWEB

Tabela3Elementosdoformulrioparacadastramentodeanimal

ndice

Id

Nome

idPessoa

Tipo

Valor

Tamanho Tamanho
mximo

tipoAnimal tipoAnimal

select

nome

nome

text

50

100

raca

raca

text

24

50

dataNascimento

text

11

10

sexo

sexo

select

observacao

textarea

op

hidden

Btn_Entrar

button

Cadastrar

hidden

Codificaremosagoraapginaparacadastramentodeanimais.

BenefrancisdoNascimento 135
SISTEMAWEB

<%
Document:animal.jsp
Createdon:22/11/2010,16:35:56

%>

<%@pagecontentType="text/html"pageEncoding="UTF8"%>
<%@pageimport="br.com.benefrancis.controle.*"%>
<%@pageimport="br.com.benefrancis.util.Util"%>
<%@pageimport="java.util.List"%>
<%@pageimport="java.util.ListIterator"%>
<%@pageimport="java.util.ArrayList"%>
<%@pageimport="java.util.Collection"%>
<%@pageimport="java.util.Date"%>

<%
//Operaes:
//0=nenhuma.Nestecasoexibiremosoformulriopedindoparaselecionaro
//donodoanimal.Apsselecionadosubmitserexecutado.
//1=buscarosanimaisdodono:
//1a)Mostraremososdadosdodono(apagaremosocomboboxdelistagemdedonos);
//1b)Aguardamosqueousurioescolhaoanimal.Apsselecionadosubmitser
executado.
//2=registraremososervioexecutado.

//Iniciandoavarivelop

BenefrancisdoNascimento 136
SISTEMAWEB

intop=0;
//verificandoavarivelopenviadapeloformulrio:
try{
op=Integer.parseInt(Util.SoNumero(request.getParameter("op")));
}catch(Exceptionex){
ex.printStackTrace();
}
List<Pessoa>pList=newArrayList<Pessoa>();
%>

<!DOCTYPEHTMLPUBLIC"//W3C//DTDHTML4.01Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<jsp:includepage="../geral/head.jsp"/>
<body>

<tablewidth="750"border="0"cellpadding="0"cellspacing="0"align="center">
<tr>
<tdcolspan="2">
<jsp:includepage="../geral/topo.jsp"/>
</td>
</tr>
<tr>
<tdheight="22"colspan="2"valign="top"class="Txt"><strong>CADASTRAMENTODE

BenefrancisdoNascimento 137
SISTEMAWEB

ANIMALDEESTIMAO</strong></td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
<tr>
<tdcolspan="2">
</td>
</tr>
<%if(op==0){%>
<tr>
<tdcolspan="2">
<formaction="animal.jsp"method="post"name="Formulario">

<tablewidth="750"border="0"cellpadding="0"cellspacing="0">
<tr>
<tdcolspan="2">
<tr>
<tdwidth="162"class="Txt">Donodoanimal</td>
<tdwidth="436"class="Txt">
<selectname="idPessoa">
<optionvalue="0">Selecione</option>
<%
pList=Pessoa.consultar();
for(ListIteratoriter=pList.listIterator();iter.hasNext();){

BenefrancisdoNascimento 138
SISTEMAWEB

Pessoaachei=(Pessoa)iter.next();
%>
<optionvalue="<%out.print(achei.getIdPessoa());%>"><%
out.print(achei.getNome());%></option>
<%
}
%>
</select>
</td>

</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
<tr>
<tdclass="Txt">&nbsp;</td>
<tdclass="Txt"><inputtype="hidden"name="op"value="1"/>
<inputtype="button"name="Btn_Entrar"value="Prosseguir>>"
onClick="ValidarRegistro1(document.Formulario);">
</td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>

BenefrancisdoNascimento 139
SISTEMAWEB

</tr>
</table>

</form>

<jsp:includepage="../geral/rodape.jsp"/>

</td>
</tr>
<%}elseif(op==1){%>
<tr>
<tdcolspan="2">
<formaction="animal.jsp"method="post"name="Formulario">

<tablewidth="750"border="0"cellpadding="0"cellspacing="0">
<%
intidPessoa=
Integer.parseInt(Util.SoNumero(request.getParameter("idPessoa")));
PessoadonoAnimal=Pessoa.consultar(idPessoa);
%>

<tr>
<tdcolspan="2">
<inputtype="hidden"name="idPessoa"
value="<%out.print(donoAnimal.getIdPessoa());%>"/>
<tablewidth="100%"border="0"cellpadding="0"cellspacing="0">

BenefrancisdoNascimento 140
SISTEMAWEB

<tr>
<tdwidth="20%"class="TopoTit">CLIENTE:</td>
<tdclass="TextoTit"><%out.print(donoAnimal.getNome());%></td>
</tr>
</table>
</td>
</tr>
<tr>
<tdcolspan="2"><hrsize="1"></td>
</tr>
<tr>
<tdheight="22"colspan="2"valign="top"
class="Txt"><strong>ANIMAL</strong></td>
</tr>
<tr>
<tdcolspan="2">
<tablewidth="100%"border="0"cellpadding="0"cellspacing="0"
align="center">
<tr>
<tdwidth="162"class="Txt">Tipo</td>
<tdwidth="436"class="Txt">
<selectname="tipoAnimal"id="tipoAnimal">
<optionvalue="0">Selecione</option>
<optionvalue="1">Cachorro</option>
<optionvalue="2">Gato</option>
</select>

BenefrancisdoNascimento 141
SISTEMAWEB

</td>
</tr>
<tr>
<tdwidth="162"height="27"valign="top"class="Txt">Nome</td>
<tdwidth="436"valign="top"class="Txt"><inputname="nome"
type="text"id="nome"size="50"maxlength="100">
<spanclass="style1">*</span></td>
</tr>
<tr>
<tdheight="27"valign="top"class="Txt">Raa</td>
<tdvalign="top"class="Txt"><inputname="raca"type="text"
id="raca"size="24"maxLength="50"></td>
</tr>
<tr>
<tdheight="27"valign="top"class="Txt">DatadeNascimento</td>
<tdvalign="top"class="Txt"><inputname="dataNascimento"
type="text"size="11"maxLength="10"OnKeyPress="formatar(this,'##/##/####')"
onKeyUp="javascript:Sonumero(this)"></td>
</tr>
<tr>
<tdheight="27"valign="top"class="Txt">Sexo</td>
<tdvalign="top"class="Txt">
<selectname="sexo"id="sexo">
<optionvalue="0">Selecione</option>
<optionvalue="M">Macho</option>
<optionvalue="F">Femea</option>
</select>

BenefrancisdoNascimento 142
SISTEMAWEB

<td>
</tr>
<tr>
<tdheight="27"valign="top"class="Txt">Observacao</td>
<tdvalign="top"class="Txt">
<textareaname="observacao"rows="4"cols="50"></textarea>
<td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
<tr>
<tdclass="Txt"width="23%">&nbsp;</td>
<tdclass="Txt"width="77%">
<inputtype="hidden"name="op"value="2"/>
<inputtype="button"name="Btn_Entrar"value="Cadastrar"
onClick="ValidarAnimal(document.Formulario);">
</td>
</tr>
<tr>

BenefrancisdoNascimento 143
SISTEMAWEB

<tdcolspan="2">&nbsp;</td>
</tr>
</table>
<jsp:includepage="../geral/rodape.jsp"/>

</form>
</td>
</tr>
<%}elseif(op==2){%>
<tr>
<tdcolspan="2">
<%

//Declarandovariveis
//Pessoa
Pessoapessoa=null;
intidPessoa=0;

//Animal
Animalanimal=null;
inttipoAnimal=0;
Stringnome=null;
Stringraca=null;
StringdataNascimento=null;
Stringsexo=null;

BenefrancisdoNascimento 144
SISTEMAWEB

Stringobservacao=null;

//Tipo,nome,datadenascimentoesexosoobrigatrios
try{
try{
idPessoa=
Integer.parseInt(Util.SoNumero(request.getParameter("idPessoa")));
pessoa=Pessoa.consultar(idPessoa);
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("ErroaoconstruiroObjetopessoa");
}

try{
tipoAnimal=
Integer.parseInt(Util.SoNumero(request.getParameter("tipoAnimal")));
if(tipoAnimal==1){
animal=newCachorro();
}elseif(tipoAnimal==2){
animal=newGato();
}else{
thrownewRuntimeException("<br><center><fontface='verdana'
color='red'size='2'><br/>SelecioneoTipodoanimal</font></center><br>");
}
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("<br><center><fontface='verdana'

BenefrancisdoNascimento 145
SISTEMAWEB

color='red'size='2'><br/>Erroaopegarotipodoanimal</font></center><br>");
}

try{
nome=request.getParameter("nome");
if(nome==null||nome==""||nome=="0"){
thrownewRuntimeException("<br><center><fontface='verdana'
color='red'size='2'><br/>Informeonomedoanimal</font></center><br>");
}else{
animal.setNome(nome);
}
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("<br><center><fontface='verdana'
color='red'size='2'><br/>Erroaopegaronomedoanimal</font></center><br>");
}

try{
raca=request.getParameter("raca");
animal.setRaca(raca);
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("<br><center><fontface='verdana'
color='red'size='2'><br/>Erroaocapturararaadoanimal</font></center><br>");

BenefrancisdoNascimento 146
SISTEMAWEB

try{
dataNascimento=request.getParameter("dataNascimento");

//validardataeconstruirumobjetoDate()casoadatasejavlida
if(dataNascimento==null||dataNascimento==""||dataNascimento==
"0"){
thrownewRuntimeException("<br><center><fontface='verdana'
color='red'size='2'><br/>Informeadatadenascimentodoanimal</font></center><br>");
}elseif(Util.validarData(dataNascimento)!=true){
thrownewRuntimeException("<br><center><fontface='verdana'
color='red'size='2'><br/>Adatadenascimentodoanimalinvlida</font></center><br>");
}else{
animal.setDataNascimento(newDate(dataNascimento));
}
}catch(Exceptionex){
ex.printStackTrace();
}

try{
sexo=request.getParameter("sexo");
if(sexo==null||sexo==""||sexo=="0"){
thrownewRuntimeException("<br><center><fontface='verdana'
color='red'size='2'><br/>Informeosexodoanimal</font></center><br>");
}else{
animal.setSexo(sexo.charAt(0));
}
}catch(Exceptionex){

BenefrancisdoNascimento 147
SISTEMAWEB

ex.printStackTrace();
thrownewRuntimeException("<br><center><fontface='verdana'
color='red'size='2'><br/>Informeosexodoanimal</font></center><br>");

try{
observacao=request.getParameter("observacao");
if(observacao!=""){
animal.setObservacao(observacao);
}
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("<br><center><fontface='verdana'
color='red'size='2'><br/>ErroaopegaroparmetroObservao</font></center><br>");
}
animal.setPessoa(pessoa);
animal.setIdAnimal(1);
//Adicionandoaumalistaosservicosexecutados
ArrayList<Servico>servico=newArrayList<Servico>();
animal.setServico(servico);
//salvando
animal.salvar(animal);
out.print("<br><center><fontface='verdana'color='blue'size='2'><br
/>Animalcadastradocomsucessoemnossobancodedados</font></center><br><br><br>");
}catch(Exceptionex){
ex.printStackTrace();

BenefrancisdoNascimento 148
SISTEMAWEB

out.print("<br>");
out.print("<br>");
out.print("<br>");
out.print("<br><center><fontface='verdana'color='red'size='2'><br/>Erro
aocadastraroanimal</font></center><br>");
out.print(ex.getMessage());
out.print("<br>");
out.print("<br>");
}
%>
<jsp:includepage="../geral/rodape.jsp"/>
</td>
<tr>
<%}//fimdoifdeop%>
</table>

</body>
</html>
Figura94cdigofontedapginaparacadastramentodeanimais

BenefrancisdoNascimento 149
SISTEMAWEB

Layout da pgina para registro de animal


Figura95Layoutdapginapararegistrodeanimal

BenefrancisdoNascimento 150
SISTEMAWEB

Codificando arquivos do diretrio servios

BenefrancisdoNascimento 151
SISTEMAWEB

Introduo

Nestediretrioteremosapenasumarquivo;Oregistra.jspqueseroresponsvelpelo
cadastramentodeserviosrealizadosnoanimal.

registrar.jsp

Pararegistrarumservio,sernecessrioselecionarumapessoa,eemseguidaoanimaldesta
pessoa,paraquesejaabertooformulriocomoscamposparacadastramentodoservio.

Ateladeverpossuirumformulrio.Vejaatag:
<formaction="registrar.jsp"method="post"name="Formulario">
<!Incluiroselementosdoformulrioaqui>
</form>

Elementos do formulrio para registro de servio



Tabela4Elementosdoformulriopararegistrodeservio

ndice

Id

Nome

Valor

Tamanho

Tamanho
mximo

servico servico

select

nome

nome

text

50

100

valor

text

11

10

observacao

textarea

op

hidden

idAnimal

hidden

Btn_Entrar

button

Cadastrar

idPessoa

Tipo

hidden

BenefrancisdoNascimento 152
SISTEMAWEB

Codificaremos agora a pgina para registro de servio.


<%@pagecontentType="text/html"pageEncoding="UTF8"%>
<%@pageimport="br.com.benefrancis.controle.*"%>
<%@pageimport="br.com.benefrancis.util.Util"%>
<%@pageimport="java.util.List"%>
<%@pageimport="java.util.Date"%>
<%@pageimport="java.util.ListIterator"%>
<%@pageimport="java.util.ArrayList"%>
<%@pageimport="java.util.Collection"%>
<%@pageimport="java.util.Date"%>
<%
//Operaes:
//0=nenhuma.Nestecasoexibiremosoformulriopedindoparaselecionarodonodo
animal.Apsselecionadosubmitserexecutado.
//1=buscarosanimaisdodono:
//1a)Mostraremososdadosdodono(apagaremosocomboboxdelistagemdedonos);
//1b)Aguardamosqueousurioescolhaoanimal.Apsselecionadosubmitser
executado.
//2=registraremososervioexecutado.

//Iniciandoavarivelop
intop=0;
//verificandoavarivelopenviadapeloformulrio:
try{
op=Integer.parseInt(Util.SoNumero(request.getParameter("op")));
}catch(Exceptionex){

BenefrancisdoNascimento 153
SISTEMAWEB

ex.printStackTrace();
}

List<Pessoa>pList=newArrayList<Pessoa>();

List<Animal>aList=newArrayList<Animal>();

//Servio
intservicoEscolhido=0;
Servicoservico=null;
Stringnome=null;

%>
<!DOCTYPEHTMLPUBLIC"//W3C//DTDHTML4.01Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<jsp:includepage="../geral/head.jsp"/>
<body>
<tablewidth="750"border="0"cellpadding="0"cellspacing="0"align="center">
<tr>
<tdcolspan="2">
<jsp:includepage="../geral/topo.jsp"/>
</td>
</tr>

BenefrancisdoNascimento 154
SISTEMAWEB

<tr>
<tdheight="22"colspan="2"valign="top"class="Txt"><strong>CADASTRAMENTODE
SERVIOSNOANIMAL</strong></td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
<tr>
<tdcolspan="2">
</td>
</tr>
<%if(op==0){%>
<tr>
<tdcolspan="2">
<formaction="registrar.jsp"method="post"name="Formulario">
<tablewidth="750"border="0"cellpadding="0"cellspacing="0"align="center">
<tr>
<tdcolspan="2">
<tr>
<tdwidth="162"class="Txt">Donodoanimal</td>
<tdwidth="436"class="Txt">
<selectname="idPessoa">
<optionvalue="0">Selecione</option>
<%
pList=Pessoa.consultar();
for(ListIteratoriter=pList.listIterator();iter.hasNext();){

BenefrancisdoNascimento 155
SISTEMAWEB

Pessoaachei=(Pessoa)iter.next();
%>
<optionvalue="<%out.print(achei.getIdPessoa());%>"><%
out.print(achei.getNome());%></option>
<%
}
%>
</select>
</td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
<tr>
<tdclass="Txt">&nbsp;</td>
<tdclass="Txt"><inputtype="hidden"name="op"value="1"/>
<inputtype="button"name="Btn_Entrar"value="Prosseguir>>"
onClick="ValidarRegistro1(document.Formulario);">
</td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>

BenefrancisdoNascimento 156
SISTEMAWEB

</tr>
</table>
</form>
<jsp:includepage="../geral/rodape.jsp"/>
</td>
</tr>
<%}elseif(op==1){%>
<tr>
<tdcolspan="2">
<formaction="registrar.jsp"method="post"name="Formulario">
<tablewidth="750"border="0"cellpadding="0"cellspacing="0"align="center">
<%
intidPessoa=
Integer.parseInt(Util.SoNumero(request.getParameter("idPessoa")));
PessoadonoAnimal=Pessoa.consultar(idPessoa);
%>
<tr>
<tdcolspan="2">
<inputtype="hidden"name="idPessoa"
value="<%out.print(donoAnimal.getIdPessoa());%>"/>
<tablewidth="100%"border="0"cellpadding="0"cellspacing="0">
<tr>
<tdwidth="20%"class="TopoTit">CLIENTE:</td>
<tdclass="TextoTit"><%out.print(donoAnimal.getNome());%></td>
</tr>
</table>

BenefrancisdoNascimento 157
SISTEMAWEB

</td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
<tr>
<tdwidth="162"class="Txt">ANIMALDEESTIMAO</td>
<tdwidth="436"class="Txt">
<selectname="idAnimal">
<optionvalue="0">Selecione</option>
<%
aList=(ArrayList<Animal>)Animal.consultar(donoAnimal);
for(ListIteratoriter=aList.listIterator();iter.hasNext();){
AnimalacheiAnimal=(Animal)iter.next();
%>
<optionvalue="<%out.print(acheiAnimal.getIdAnimal());%>"><%
out.print(acheiAnimal.getNome());%></option>
<%
}
%>
</select>
</td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
<tr>

BenefrancisdoNascimento 158
SISTEMAWEB

<tdcolspan="2">&nbsp;</td>
</tr>
<tr>
<tdclass="Txt">&nbsp;</td>
<tdclass="Txt">
<inputtype="hidden"name="op"value="2"/>
<inputtype="button"name="Btn_Entrar"value="Prosseguir>>"
onClick="ValidarRegistro2(document.Formulario);">
</td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>

</tr>
</table>
<jsp:includepage="../geral/rodape.jsp"/>

</form>

</td>
</tr>
<%}elseif(op==2){%>

<tr>
<tdheight="104"colspan="2"valign="top">
<formaction="registrar.jsp"method="post"name="Formulario">

BenefrancisdoNascimento 159
SISTEMAWEB

<tablewidth="100%"border="0"cellpadding="0"cellspacing="0"
align="center">
<!DWLayoutTable>
<%
intidPessoa=
Integer.parseInt(Util.SoNumero(request.getParameter("idPessoa")));
PessoadonoAnimal=Pessoa.consultar(idPessoa);

intidAnimal=
Integer.parseInt(Util.SoNumero(request.getParameter("idAnimal")));
Animalanimal=Animal.consultar(idAnimal);
%>
<tr>
<tdcolspan="2">
<inputtype="hidden"name="idPessoa"
value="<%out.print(donoAnimal.getIdPessoa());%>"/>
<tablewidth="100%"border="0"cellpadding="0"cellspacing="0"
align="center">
<tr>
<tdwidth="20%"class="TopoTit">CLIENTE:</td>
<tdclass="TextoTit"><%out.print(donoAnimal.getNome());%></td>
</tr>
<tr>
<tdwidth="20%"class="TopoTit">ANIMALDEESTIMAO:</td>
<tdclass="TextoTit"><%out.print(animal.getNome());%></td>
</tr>
</table>

BenefrancisdoNascimento 160
SISTEMAWEB

</td>
</tr>
<tr>
<tdcolspan="2"><hrsize="1"></td>
</tr>
<tr>
<tdheight="22"colspan="2"valign="top"class="Txt"><strong>SERVIO
EXECUTADO</strong></td>
</tr>
<tr>
<tdcolspan="2">
<tablewidth="100%"border="0"cellpadding="0"cellspacing="0"
align="center">
<tr>
<tdwidth="165"class="Txt">Servio</td>
<tdwidth="581"class="Txt">
<selectname="servico"id="servico">
<optionvalue="0">Selecione</option>
<optionvalue="1">ConsultaVeterinria</option>
<optionvalue="2">Banho</option>
<optionvalue="3">Tosa</option>
<optionvalue="4">Vacina</option>
</select>
</td>
</tr>
<tr>
<tdwidth="165"height="27"valign="top"class="Txt">Nome/

BenefrancisdoNascimento 161
SISTEMAWEB

Descrio</td>
<tdwidth="581"valign="top"class="Txt">
<inputname="nome"type="text"id="nome"size="50"
maxlength="100">
<spanclass="style1">*</span></td>
</tr>

<tr>
<tdheight="27"valign="top"class="Txt">ValorR$</td>
<tdvalign="top"class="Txt">
<inputname="valor"type="text"size="11"maxLength="10"
onKeyUp="javascript:Sonumero(this)">
</td>
</tr>
<tr>
<tdheight="27"valign="top"class="Txt">Observacao</td>
<tdvalign="top"class="Txt">
<textareaname="observacao"rows="4"cols="50"></textarea>
<tdwidth="10">
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
</table>
</td>
</tr>

BenefrancisdoNascimento 162
SISTEMAWEB

<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
<tr>
<tdclass="Txt"width="23%">&nbsp;</td>
<tdclass="Txt"width="77%">
<inputtype="hidden"name="op"value="3"/>
<inputtype="hidden"name="idAnimal"value="<%
out.print(Util.SoNumero(request.getParameter("idAnimal")));%>"/>
<inputtype="button"name="Btn_Entrar"value="Cadastrar"
onClick="ValidarRegistro(document.Formulario);">
</td>
</tr>

</table>
</form>
</td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
<tr>
<tdcolspan="2">
<jsp:includepage="../geral/rodape.jsp"/>
</td>
</tr>

BenefrancisdoNascimento 163
SISTEMAWEB

<%}elseif(op==3){%>
<tr>
<tdcolspan="2">
<%
try{
Animalanimal=null;
try{
//Cadastraremososervioexecutadonoanimaldeestimaodeumapessoa
//BuscandoAnimal
intidAnimal=
Integer.parseInt(Util.SoNumero(request.getParameter("idAnimal")));
animal=Animal.consultar(idAnimal);
if(animal==null){
thrownewRuntimeException("Erronabuscadosdadosdoanimal.");
}
//Criandoumobjetoservioconformeoservioescolhido:
try{
servicoEscolhido=
Integer.parseInt(Util.SoNumero(request.getParameter("servico")));
switch(servicoEscolhido){
case1:
servico=newBanho();
break;
case2:
servico=newConsulta();
break;

BenefrancisdoNascimento 164
SISTEMAWEB

case3:
servico=newTosa();
break;
case4:
servico=newVacina();
break;
default:
thrownewRuntimeException("Servioinvlido!Favorselecionaro
servioexecutado.");
}
}catch(Exceptionex){
}
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("<br><center><fontface='verdana'
color='red'size='2'><br/>Erroaopegaronomedoservioefetuado</font></center><br>");
}
doublevalor=0;
try{
valor=Double.parseDouble(request.getParameter("valor"));
servico.setValor(valor);
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("<br><center><fontface='verdana'
color='red'size='2'><br/>Informecorretamenteovalordoservio
executado</font></center><br>");
}

BenefrancisdoNascimento 165
SISTEMAWEB

Stringdescricao=null;
try{
descricao=request.getParameter("nome");
servico.setDescricao(descricao);
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("<br><center><fontface='verdana'
color='red'size='2'><br/>Erroaopegaronome/descriodoservio
efetuado</font></center><br>");
}
Stringobservacao=null;
try{
observacao=request.getParameter("observacao");
servico.setObservacao(observacao);
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("<br><center><fontface='verdana'
color='red'size='2'><br/>Erroaopegarobservaoreferenteaoservio
efetuado</font></center><br>");
}
//Adicionandooanimal
servico.setAnimal(animal);
servico.setData(newDate());
//salvando
servico.salvar(servico);
out.print("<br>");
out.print("<br>");

BenefrancisdoNascimento 166
SISTEMAWEB

out.print("<br>");
out.print("<br><center><fontface='verdana'color='blue'size='2'><br
/>Serviocadastradocomsucesso</font></center><br>");
out.print("<br>");
out.print("<br>");
}catch(Exceptionex){
ex.printStackTrace();
out.print("<br>");
out.print("<br>");
out.print("<br>");
out.print("<br><center><fontface='verdana'color='red'size='2'><br/>Erro
aocadastraroservioexecutado</font></center><br>");
out.print("<br><center><fontface='verdana'color='red'size='2'><br/>"+
ex.getMessage()+"</font></center><br>");
out.print("<br>");
out.print("<br>");
}
%>
<jsp:includepage="../geral/rodape.jsp"/>
</td>
</tr>
<%}//fimdoifdeop%>
</table>
</body>
</html>
Figura96Cdigofontedapginapararegistrodeservio

BenefrancisdoNascimento 167
SISTEMAWEB

Layout da pagina para registro de servio

Figura97Layoutdapaginapararegistrodeservio

BenefrancisdoNascimento 168
SISTEMAWEB

Codificando arquivos do diretrio consultas

BenefrancisdoNascimento 169
SISTEMAWEB

Introduo

NestediretrioteremostelasparaconsultadePessoas,animaiseservios.Norelatriodas
consultasteroopesparadetalhar,editar,excluireetc.Soarquivosdestediretrio:
Tabela5Arquivosdodiretrioconsultas

NOME

DESCRIO

pessoa.jsp

Retornatodasaspessoascadastradasno
sistema.Apresentalinkparacadastrarum
novoanimalparaumapessoa,visualizaros
dadosdapessoa,editarosdadosdapessoa
ouexcluirapessoa.

animal.jsp

Retornaosanimaiscadastradosparauma
pessoaselecionadaoutodososanimais
registrados.Apresentalinkparaincluirnovo
servioparaoanimal,visualizarosdados
desteanimal,editarosdadosdoanimalou
excluiroanimal.

servico.jsp

Retornatodososserviosrealizados.
Apresentalinkparavisualizarosdadosdo
serviorealizado,editaroservioouexcluiro
servio.

detalhe_pessoa.jsp

Exibetodasasinformaesdeumapessoa.

detalhe_animal.jsp

Exibetodasasinformaesdeumanimal.

detalhe_servico.jsp

Exibetodasasinformaesdeumservio
realizado.

editar_pessoa.jsp

Permitealterarosdadosdeumapessoa

editar_animal.jsp

Permitealterarosdadosdeumanimal.

editar_servico.jsp

Permitealterarosdadosdeumservio
realizado.

excluir_pessoa.jsp

Permiteexcluirumapessoadosistema.

excluir_animal.jsp

Permiteexcluirumanimaldosistema.

BenefrancisdoNascimento 170
SISTEMAWEB

excluir_servio.jsp

Permiteexcluirumserviorealizadoemum
animalcadastradonosistema.

Pessoa.jsp

Apginapessoa.jspdodiretrioconsultaslistatodasaspessoascadastradasnosistema.Veja
abaixoocdigofonte.
<%@pagecontentType="text/html"pageEncoding="UTF8"%>
<%@pageimport="br.com.benefrancis.controle.*"%>
<%@pageimport="br.com.benefrancis.util.Util"%>
<%@pageimport="java.util.ArrayList"%>
<%@pageimport="java.util.Date"%>
<%@pageimport="java.util.List"%>
<%@pageimport="java.util.ListIterator"%>
<%
//Iniciandovariavelquereceberalistadepessoas
List<Pessoa>pList=newArrayList<Pessoa>();
%>
<!DOCTYPEHTMLPUBLIC"//W3C//DTDHTML4.01Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<jsp:includepage="../geral/head.jsp"/>
<body>
<tablewidth="750"border="0"cellpadding="0"cellspacing="0"align="center">
<tr>
<tdcolspan="2">
<jsp:includepage="../geral/topo.jsp"/>

BenefrancisdoNascimento 171
SISTEMAWEB

</td>
</tr>
<tr>
<tdheight="22"colspan="2"valign="top"
class="Txt"><strong>PESSOAS</strong></td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
<tr>
<tdcolspan="2">
</td>
</tr>
<tr>
<tdcolspan="2"><hrsize="1"></td>
</tr>
<tr>
<tdcolspan="2">
<tableborder="0"width="100%">
<thead>
<trclass="TopoTit">
<th>NOME</th>
<th>TELEFONES</th>
<th>EMAIL</th>
<th>ANIMAIS</th>
<th>AES</th>

BenefrancisdoNascimento 172
SISTEMAWEB

</tr>
</thead>
<tbody>
<%
pList=Pessoa.consultar();
for(ListIteratoriter=pList.listIterator();iter.hasNext();){
Pessoaachei=(Pessoa)iter.next();
%>
<tr>
<tdalign="left"class="Txt"><%out.print(achei.getNome());%></td>

<tdalign="left"class="Txt">
<%
List<Telefone>telefones=(List<Telefone>)Telefone.consultar(achei);
for(inti=0;i<=telefones.size();i++){
try{
out.print(telefones.get(i).getDdd());
out.print("");
out.print(telefones.get(i).getNumero()+"&nbsp;&nbsp;");
}catch(Exceptione){
}
}
%>
</td>
<tdalign="left"class="Txt"><%out.print(achei.getEmail());%></td>

BenefrancisdoNascimento 173
SISTEMAWEB

<tdalign="center"class="Txt">
<%
List<Animal>animais=(ArrayList<Animal>)Animal.consultar(achei);

out.print(animais.size());

%>
</td>
<tdclass="Txt"align="center">
<tableborder="0"align="center"cellpadding="2"cellspacing="2"
width="100%">
<tralign="center"valign="middle">
<td>
<a
href="../cadastros/animal.jsp?op=1&amp;idPessoa=<%out.print(achei.getIdPessoa());%>">
<imgsrc="../images/img_gato.png"width="30"height="30"
alt="Inseriranimaldeestimao"title="Inseriranimaldeestimao"border="0"/>
</a>
</td>
<td>
<a
href="../consultas/detalhe_pessoa.jsp?idPessoa=<%out.print(achei.getIdPessoa());%>">
<imgsrc="../images/img_lupa_transparente.png"width="30"
height="30"alt="consultar"title="consultar"border="0"/>
</a>
</td>
<td>
<a

BenefrancisdoNascimento 174
SISTEMAWEB

href="../consultas/editar_pessoa.jsp?op=2&amp;idPessoa=<%out.print(achei.getIdPessoa());%
>">
<imgsrc="../images/img_caderno_transparente.png"width="30"
height="30"border="0"alt="editar"title="editar"/>
</a>
</td>
<td>
<a
href="../consultas/excluir_pessoa.jsp?idPessoa=<%out.print(achei.getIdPessoa());%>">
<imgsrc="../images/img_lixeira_transparente.png"width="30"
height="30"border="0"alt="excluir"title="excluir"/>
</a>
</td>
</tr>
</table>
</td>
</tr>
<%}%>
</tbody>
</table>
<jsp:includepage="../geral/rodape.jsp"/>
</td>
</tr>
</table>
</body>
</html>

BenefrancisdoNascimento 175
SISTEMAWEB

Layout da pgina de consulta de pessoas

Abaixoolayoutdapginadeconsultadepessoas.

Figure4Layoutdapginadeconsultadepessoas


Editar_pessoa.jsp
Vejaocdigodapaginaeditar_pessoa.jsp

BenefrancisdoNascimento 176
SISTEMAWEB

<%@pagecontentType="text/html"pageEncoding="UTF8"%>
<%@pageimport="br.com.benefrancis.controle.*"%>
<%@pageimport="br.com.benefrancis.util.Util"%>
<%@pageimport="java.util.List"%>
<%@pageimport="java.util.ArrayList"%>
<%@pageimport="java.util.ListIterator"%>
<%@pageimport="java.util.Collection"%>
<!DOCTYPEHTMLPUBLIC"//W3C//DTDHTML4.01Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<jsp:includepage="../geral/head.jsp"/>
<body>
<formaction="editar_pessoa.jsp"method="post"name="Formulario">
<tablewidth="750"border="0"cellpadding="0"cellspacing="0"align="center">
<tr>
<tdcolspan="2">
<jsp:includepage="../geral/topo.jsp"/>
</td>
</tr>
<tr>
<tdcolspan="2">
<%
//iniciandovariveis:
intop=0;
Stringtipo=null;

BenefrancisdoNascimento 177
SISTEMAWEB

intidPessoa=0;
Pessoap=null;
Stringnome="";
Stringrazao="";
StringdocReceita="";
intdddTel=0;
StringTel="";
intdddCel=0;
StringCel="";
intdddFax=0;
StringFax="";

try{
if(!request.getParameter("op").isEmpty()){
op=Integer.parseInt(request.getParameter("op"));
}
}catch(Exceptionex){
thrownewRuntimeException("<center><fontface='verdana'color='red'
size='2'>Erroaotentarlocalizardadosdapessoa.<br/>Verifiqueosdadosetente
novamente</font></center>");
}

try{
idPessoa=Integer.parseInt(Util.SoNumero(request.getParameter("idPessoa")));
}catch(Exceptione){
thrownewRuntimeException("<center><fontface='verdana'color='red'
size='2'>Erroaotentarlocalizardadosdapessoa.<br/>Verifiqueosdadosetente

BenefrancisdoNascimento 178
SISTEMAWEB

novamente</font></center>");
}

p=newPF().consultar(idPessoa);
try{
if(op==1){
try{
idPessoa=Integer.parseInt(Util.SoNumero(request.getParameter("idPessoa")));
}catch(Exceptione){
thrownewRuntimeException("<center><fontface='verdana'color='red'
size='2'>Erroaotentarlocalizardadosdapessoa.<br/>Verifiqueosdadosetente
novamente</font></center>");
}
try{
tipo=request.getParameter("Tipo");
}catch(Exceptionex){
}
if(tipo=="PJ"){

p=newPJ().consultar(idPessoa);
try{
nome=request.getParameter("razao");
docReceita=request.getParameter("CNPJ");
docReceita=Util.SoNumero(docReceita);
//Criandoumapessoajuridica
}catch(Exceptionex){
thrownewRuntimeException("<center><fontface='verdana'color='red'

BenefrancisdoNascimento 179
SISTEMAWEB

size='2'>ErroaocadastrarUtilizador.<br/>VerifiqueosdadosdePessoaJurdicatente
novamente</font></center>");
}
}else{

p=newPF().consultar(idPessoa);

try{
nome=request.getParameter("Nome");
docReceita=request.getParameter("CPF");
docReceita=Util.SoNumero(docReceita);
}catch(Exceptionex){
thrownewRuntimeException("<center><fontface='verdana'color='red'
size='2'>ErroaocadastrarUtilizador.<br/>VerifiqueosdadosdePessoafsicatente
novamente</font></center>");
}
}
//Endereodapessoa
Enderecoendereco=newEndereco();
Stringlogradouro="";
Stringnumero="";
Stringcomplemento="";
Stringbairro="";
Stringcep="";
Stringcidade="";
Stringuf="";

BenefrancisdoNascimento 180
SISTEMAWEB

//Endereo
List<Endereco>novoEndereco=newArrayList<Endereco>();
try{
logradouro=request.getParameter("logradouro");
numero=request.getParameter("Numero");
complemento=request.getParameter("Complemento");
bairro=request.getParameter("Bairro");
cep=Util.SoNumero(request.getParameter("CEP"));
cidade=request.getParameter("Cidade");
uf=request.getParameter("uf");
if(logradouro==""||numero==""||bairro==""||cidade==""||uf==""
||cep==""){
thrownewRuntimeException("Oendereodeveconterlogradouro,nmero,
Bairro,Cidade,EstadoeCEP");
}else{
endereco.setLogradouro(logradouro);
endereco.setBairro(bairro);
endereco.setCep(cep);
endereco.setCidade(cidade);
endereco.setComplemento(complemento);
endereco.setNumero(numero);
endereco.setUf(uf);
}
}catch(Exceptionex){
thrownewRuntimeException("Logradouroumcampoobrigatrio");
}

BenefrancisdoNascimento 181
SISTEMAWEB

//Telefones
ArrayList<Telefone>telefone=newArrayList<Telefone>();
try{
dddTel=Integer.parseInt(Util.SoNumero(request.getParameter("TelDDD")));
Tel=Util.SoNumeroTel(request.getParameter("Tel"));
}catch(ExceptioneTel){
}
try{
dddCel=
Integer.parseInt(Util.SoNumero(request.getParameter("TelCelDDD")));
Cel=Util.SoNumeroTel(request.getParameter("TelCel"));
}catch(ExceptioneCel){
}
try{
dddFax=
Integer.parseInt(Util.SoNumero(request.getParameter("TelFaxDDD")));
Fax=Util.SoNumeroTel(request.getParameter("TelFax"));
}catch(ExceptioneFax){
}

if(dddTel!=0&&Tel!=""){
telefone.add(newTelefone(dddTel,Tel,p));
}

if(dddCel!=0&&Cel!=""){

BenefrancisdoNascimento 182
SISTEMAWEB

telefone.add(newTelefone(dddCel,Cel,p));
}

if(dddFax!=0&&Fax!=""){
telefone.add(newTelefone(dddFax,Fax,p));
}

//Excluindoendereoanterior
List<Endereco>end=endereco.consultar(p);
for(inti=0;i<end.size();i++){
Endereco.excluir(end.get(i));
}

//ExcluindoTelefonesanteriores
List<Telefone>tel=(List<Telefone>)Telefone.consultar(p);
for(inti=0;i<tel.size();i++){
Telefone.excluir(tel.get(i));
}

p.setNome(nome);
endereco.setPessoa(p);
novoEndereco.add(endereco);
p.setEndereco(novoEndereco);
p.setTelefone(telefone);
p.alterar(p);

BenefrancisdoNascimento 183
SISTEMAWEB

out.print("<br>");
out.print("<br>");
out.print("<br>");
out.print("<center><fontface='verdana'color='blue'size='2'>Utilizador
cadastradocomsucesso</font></center>");
out.print("<br>");
out.print("<br>");
out.print("<br>");

}elseif(op==2){

%>
</td>
</tr>
<tr>
<tdwidth="162"class="Txt">Tipo</td>
<tdwidth="436"class="Txt">
<selectname="Tipo"id="Tipo"
onChange="showCampo(document.forms[0][this.name].options[document.forms[0][this.nam
e].selectedIndex].value,'campo_hidden');">
<option<%if(p.getTipo()==2){%>selected<%}%>value="PJ">PJ</option>
<option<%if(p.getTipo()==1){%>selected<%}%>value="PF">PF</option>
</select>
</td>

</tr>

BenefrancisdoNascimento 184
SISTEMAWEB

<trid="campo_hiddenPJ"style<%if(p.getTipo()==2){%>="display:''"<%}else{%>
="display:none"<%}%>>
<tdheight="104"colspan="2"valign="top">

<tablewidth="100%"border="0"cellpadding="0"cellspacing="0"align="center">
<!DWLayoutTable>
<tr>
<tdheight="1"colspan="2"valign="top"><hrsize="1"></td>
</tr>
<tr>
<tdheight="22"colspan="2"valign="top"class="Txt"><strong>PESSOA
JURDICA</strong></td>
</tr>
<tr>
<tdwidth="162"height="27"valign="top"class="Txt">RAZOSOCIAL</td>
<tdwidth="436"valign="top"class="Txt"><inputname="razao"value="<%if
(p.getTipo()==2){
out.print(p.getNome());
}%>"type="text"id="razao"size="50"
maxlength="100">
<spanclass="style1">*</span></td>
</tr>
<tr>
<tdheight="27"valign="top"class="Txt">CNPJ</td>
<tdvalign="top"class="Txt">
<inputname="CNPJ"

BenefrancisdoNascimento 185
SISTEMAWEB

type="text"
id="CNPJ"
OnKeyPress="formatar(this,'##.###.###/######')"
onKeyUp="javascript:Sonumero(this)"
size="24"
maxLength="18"
value="<%if(p.getTipo()==2)
{out.print(p.getDocReceita().getNumero());}%>">
+</td>
</tr>
</table>
</td>

</tr>

<trid="campo_hiddenPF"style<%if(p.getTipo()==1){%>="display:''"<%}else{%>
="display:none"<%}%>>
<tdheight="104"colspan="2"valign="top">

<tablewidth="100%"border="0"cellpadding="0"cellspacing="0"align="center">
<!DWLayoutTable>
<tr>
<tdheight="1"colspan="2"valign="top"><hrsize="1"></td>
</tr>
<tr>
<tdheight="22"colspan="2"valign="top"class="Txt"><strong>PESSOA
F&Iacute;SICA</strong></td>

BenefrancisdoNascimento 186
SISTEMAWEB

</tr>
<tr>
<tdwidth="162"height="27"valign="top"class="Txt">NomeCompleto
</td>
<tdwidth="436"valign="top"class="Txt">
<input
name="Nome"
value="<%if(p.getTipo()==1){out.print(p.getNome());}%>"
type="text"
id="Nome"
size="50"
maxlength="100">
<spanclass="style1">*</span></td>
</tr>
<tr>
<tdheight="27"valign="top"class="Txt">CPF</td>
<tdvalign="top"class="Txt">
<input
name="CPF"
type="text"
id="CPF"
OnKeyPress="formatar(this,'###.###.#####')"
onKeyUp="javascript:Sonumero(this)"
size=17
maxlength="14"
value="<%if(p.getTipo()==1)

BenefrancisdoNascimento 187
SISTEMAWEB

{out.print(p.getDocReceita().getNumero());}%>">
+</td>
</tr>
</table>
</td>

</tr>

<tr>
<tdid="contato"height="104"colspan="2"valign="top">

<tablewidth="100%"border="0"cellpadding="0"cellspacing="0"align="center">
<!DWLayoutTable>

<tr>
<tdcolspan="3"><hrsize="1"></td>
<td></td>
</tr>
<tr>
<tdcolspan="3"class="Txt"><strong>TELEFONES</strong></td>
</tr>
<%
List<Telefone>telefones=newArrayList<Telefone>();

BenefrancisdoNascimento 188
SISTEMAWEB

telefones=(List<Telefone>)Telefone.consultar(p);

for(inti=0;i<=2;i++){
if(i==0){
try{
%>
<tr>
<tdclass="Txt">Telefone</td>
<tdcolspan="2"class="Txt">
<%if(telefones.size()>=1){%>
(<inputname="TelDDD"value="<%out.print(telefones.get(i).getDdd());%>"
type="text"id="TelDDD"onKeyUp="javascript:Sonumero(this)"size="2"maxlength="2">)
<inputname="Tel"value="<%out.print(telefones.get(i).getNumero());%>"
type="text"id="Tel"OnKeyPress="formatar(this,'########')"
onKeyUp="javascript:Sonumero(this)"size="12"maxlength="10">
<%}else{%>
(<inputname="TelDDD"type="text"id="TelDDD"
onKeyUp="javascript:Sonumero(this)"size="2"maxlength="2">)
<inputname="Tel"type="text"id="Tel"OnKeyPress="formatar(this,
'########')"onKeyUp="javascript:Sonumero(this)"size="12"maxlength="10">

<%}%>
</td>
</tr>
<%
}catch(Exceptione){
e.printStackTrace();

BenefrancisdoNascimento 189
SISTEMAWEB

}
}
if(i==1){
try{
%>
<tr>
<tdclass="Txt">Telefone</td>
<tdcolspan="2"class="Txt">

<%if(telefones.size()>=2){%>
(<inputname="TelCelDDD"
value="<%out.print(telefones.get(i).getDdd());%>"type="text"
onKeyUp="javascript:Sonumero(this)"size="2"maxlength="2">)
<inputname="TelCel"
value="<%out.print(telefones.get(i).getNumero());%>"type="text"OnKeyPress="formatar(this,
'########')"onKeyUp="javascript:Sonumero(this)"size="12"maxlength="10">

<%}else{%>
(<inputname="TelCelDDD"onKeyUp="javascript:Sonumero(this)"
size="2"maxlength="2">)
<inputname="TelCel"type="text"OnKeyPress="formatar(this,'####
####')"onKeyUp="javascript:Sonumero(this)"size="12"maxlength="10">

<%}%>
</td>
</tr>
<%
}catch(Exceptione){

BenefrancisdoNascimento 190
SISTEMAWEB

e.printStackTrace();
}
}

if(i==2){
try{
%>
<tr>
<tdclass="Txt">Telefone</td>
<tdcolspan="2"class="Txt">
<%if(telefones.size()>=3){%>
(<inputname="TelFaxDDD"
value="<%out.print(telefones.get(i).getDdd());%>"type="text"
onKeyUp="javascript:Sonumero(this)"size="2"maxlength="2">)
<inputname="TelFax"
value="<%out.print(telefones.get(i).getNumero());%>"type="text"OnKeyPress="formatar(this,
'########')"onKeyUp="javascript:Sonumero(this)"size="12"maxlength="10">
<%}else{%>
(<inputname="TelFaxDDD"type="text"
onKeyUp="javascript:Sonumero(this)"size="2"maxlength="2">)
<inputname="TelFax"type="text"OnKeyPress="formatar(this,'####
####')"onKeyUp="javascript:Sonumero(this)"size="12"maxlength="10">
<%}%>
</td>
</tr>
<%
}catch(Exceptione){
e.printStackTrace();

BenefrancisdoNascimento 191
SISTEMAWEB

}
}
}
%>
<tr>
<tdcolspan="3"><hrsize="1"></td>
<td></td>
</tr>
<%
List<Endereco>enderecos=Endereco.consultar(p);

for(ListIteratoriter=enderecos.listIterator();iter.hasNext();){
Enderecoend=(Endereco)iter.next();
%>
<tr>
<tdcolspan="3"class="Txt"><strong>ENDERE&Ccedil;O</strong></td>
</tr>
<tr>
<tdclass="Txt">LOGRADOURO</td>
<tdcolspan="2"class="Txt"><inputname="logradouro"
value="<%out.print(end.getLogradouro());%>"type="text"size="50"maxlength="50"></td>
</tr>
<tr>
<tdclass="Txt">N</td>
<tdcolspan="2"class="Txt"><inputname="Numero"
value="<%out.print(end.getNumero());%>"type="text"size="10"maxlength="10"></td>

BenefrancisdoNascimento 192
SISTEMAWEB

</tr>
<tr>
<tdclass="Txt">Complemento</td>
<tdcolspan="2"class="Txt"><inputname="Complemento"
value="<%out.print(end.getComplemento());%>"type="text"size="30"maxlength="50"></td>
</tr>
<tr>
<tdclass="Txt">Bairro</td>
<tdcolspan="2"class="Txt"><inputname="Bairro"
value="<%out.print(end.getBairro());%>"type="text"size="30"maxlength="50"></td>
</tr>
<tr>
<tdclass="Txt">Cidade</td>
<tdcolspan="2"class="Txt"><inputname="Cidade"
value="<%out.print(end.getCidade());%>"type="text"size="30"maxlength="50"></td>
</tr>

<trid="estados">
<tdclass="Txt">Estado</td>
<tdcolspan="2"class="Txt">
<selectname="uf">
<optionvalue="AC">AC</option>
<optionvalue="AL">AL</option>
<optionvalue="AP">AP</option>
<optionvalue="AM">AM</option>
<optionvalue="BA">BA</option>
<optionvalue="CE">CE</option>

BenefrancisdoNascimento 193
SISTEMAWEB

<optionvalue="DF">DF</option>
<optionvalue="ES">ES</option>
<optionvalue="GO">GO</option>
<optionvalue="MA">MA</option>
<optionvalue="MT">MT</option>
<optionvalue="MS">MS</option>
<optionvalue="MG">MG</option>
<optionvalue="PA">PA</option>
<optionvalue="PB">PB</option>
<optionvalue="PR">PR</option>
<optionvalue="PE">PE</option>
<optionvalue="PI">PI</option>
<optionvalue="RJ">RJ</option>
<optionvalue="RN">RN</option>
<optionvalue="RS">RS</option>
<optionvalue="RO">RO</option>
<optionvalue="RR">RR</option>
<optionvalue="SC">SC</option>
<optionvalue="SP">SP</option>
<optionvalue="SE">SE</option>
<optionvalue="TO">TO</option>
<optionselected="true"
value="<%out.print(end.getUf());%>"><%out.print(end.getUf());%></option>
</select></td>
</tr>
<tr>

BenefrancisdoNascimento 194
SISTEMAWEB

<tdclass="Txt">CEP</td>
<tdcolspan="2"class="Txt">
<inputname="CEP"value="<%out.print(end.getCep());%>"type="text"
OnKeyPress="formatar(this,'########')"onKeyUp="javascript:Sonumero(this)"size="12"
maxlength="9">

+</td>

</tr>
<%}%>
</table>
</td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
<td></td>
</tr>
<tr>
<tdclass="Txt"width="23%">&nbsp;</td>
<tdclass="Txt"width="77%">
<inputtype="hidden"name="op"value="1"/>
<inputtype="hidden"name="idPessoa"value="<%out.print(p.getIdPessoa());%>"
/>
<inputtype="button"name="Btn_Entrar"value="Alterar"
onClick="Validar(document.Formulario);">
</td>
<td>&nbsp;</td>
</tr>
<tr>

BenefrancisdoNascimento 195
SISTEMAWEB

<tdcolspan="2">
<%
}
}catch(Exceptione){
out.print("<br>");
out.print("<center><fontface='verdana'color='red'size='2'>Erroao
cadastrar</font></center>");
out.print("<center><fontface='verdana'color='red'size='2'>"+e.getMessage()+
"</font></center>");
}
%>

</td>
</tr>
<tr>
<tdcolspan="2">
<jsp:includepage="../geral/rodape.jsp"/>
</td>
</tr>
</table>
</form>
</body>
</html>
Figure5Cdigofontedapginaeditar_pessoa

BenefrancisdoNascimento 196
SISTEMAWEB

Layout da pgina editar_pessoa.jsp

Abaixoolayoutdapginaeditar_pessoa.jsp

Figure6Layoutdapginaeditar_pessoa.jsp

Excluir_pessoa.jsp
Apginaexcluir_pessoa.jspdodiretrioconsultassolicitaaconfirmaodaexclusodeuma
pessoa,animaiseserviosrelacionadosquelapessoa.Vejaabaixoocdigofonte.

BenefrancisdoNascimento 197
SISTEMAWEB

<%@pagecontentType="text/html"pageEncoding="UTF8"%>
<%@pageimport="br.com.benefrancis.controle.*"%>
<%@pageimport="br.com.benefrancis.util.Util"%>
<%@pageimport="java.util.List"%>
<%@pageimport="java.util.ArrayList"%>
<%@pageimport="java.util.ListIterator"%>
<!DOCTYPEHTMLPUBLIC"//W3C//DTDHTML4.01Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<jsp:includepage="../geral/head.jsp"/>
<body>
<tablewidth="750"border="0"cellpadding="0"cellspacing="0"align="center">
<tr>
<tdcolspan="2">
<jsp:includepage="../geral/topo.jsp"/>
</td>
</tr>
<tr>
<tdcolspan="2">
<%
intop=0;
intidPessoa=0;
Pessoap=null;
try{
if(!request.getParameter("op").isEmpty()){

BenefrancisdoNascimento 198
SISTEMAWEB

op=Integer.parseInt(request.getParameter("op"));
}
}catch(Exceptionex){
ex.printStackTrace();
}
try{
if(!request.getParameter("idPessoa").isEmpty()){
idPessoa=Integer.parseInt(Util.SoNumero(request.getParameter("idPessoa")));
}
}catch(Exceptionex){
ex.printStackTrace();
}
p=Pessoa.consultar(idPessoa);
try{
if(op==1&&idPessoa>0){//Op=1:Deletar
p.excluir(p);
out.print("<br>");
out.print("<br>");
out.print("<br>");
out.print("<center><fontface='verdana'color='blue'size='2'>Registroexcludo
comsucesso</font></center>");
out.print("<br>");
out.print("<br>");
out.print("<br>");
}else{%>
<tableborder="0"width="100%">

BenefrancisdoNascimento 199
SISTEMAWEB

<thead>
<trclass="TextoTit"align="center">
<thcolspan="2"height="50">Estaoperaoexcluir
<%out.print(p.getNome());%>,seusanimaisdeestimaoeserviosrealizadosdosistema.
</th>
</tr>
</thead>
<tbody>
<trclass="TextoTit">
<tdcolspan="2"align="center"height="60">Confirmaaexcluso?</td>
</tr>
<tralign="center">
<tdwidth="50%"align="right"height="150"><form
action="excluir_pessoa.jsp"method="post"name="Formulario"><inputtype="hidden"
name="op"value="1"><inputtype="hidden"name="idPessoa"
value="<%out.print(p.getIdPessoa());%>">&nbsp;<inputtype="submit"name="btn_sim"
value="SIM">&nbsp;</form></td>
<tdwidth="50%"align="left"height="150"><form
action="../consultas/pessoa.jsp"method="post"name="Formulario">&nbsp;<input
type="submit"name="btn_sim"value="NO">&nbsp;</form></td>
</tr>
</tbody>
</table>
<%
}
}catch(Exceptione){
out.print("<br>");
out.print("<center><fontface='verdana'color='red'size='2'>Erroao
excluir</font></center>");

BenefrancisdoNascimento 200
SISTEMAWEB

out.print("<center><fontface='verdana'color='red'size='2'>"+e.getMessage()+
"</font></center>");
}
%>
<tr>
<tdcolspan="2">
<jsp:includepage="../geral/rodape.jsp"/>
</td>
</tr>
</table>
</body>
</html>
Figure7cdigofontedapginaexcluir_pessoa.jsp

BenefrancisdoNascimento 201
SISTEMAWEB

Layout da pgina excluir_pessoa.jsp

Abaixo,olayoutdapginaexcluir_pessoa.jsp.

Figure8Layoutdapginaexcluir_pessoa.jsp

Animal.jsp

Apginaanimal.jspdodiretriodeconsultaslistatodososanimaisregistradosnosistema.
Apresentalinkparainserirumservio,detalhar,alterareexcluir.
Abaixo,ocdigofontedapginaanimal.jsp.

BenefrancisdoNascimento 202
SISTEMAWEB

<%@pagecontentType="text/html"pageEncoding="UTF8"%>
<%@pageimport="br.com.benefrancis.controle.*"%>
<%@pageimport="br.com.benefrancis.util.Util"%>
<%@pageimport="java.util.List"%>
<%@pageimport="java.util.ListIterator"%>
<%@pageimport="java.util.ArrayList"%>
<%
//Listadeanimais
List<Animal>pList=newArrayList<Animal>();
%>
<!DOCTYPEHTMLPUBLIC"//W3C//DTDHTML4.01Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<jsp:includepage="../geral/head.jsp"/>
<body>
<tablewidth="750"border="0"cellpadding="0"cellspacing="0"align="center">
<tr>
<tdcolspan="2">
<jsp:includepage="../geral/topo.jsp"/>
</td>
</tr>
<tr>
<tdheight="22"colspan="2"valign="top"
class="Txt"><strong>ANIMAIS</strong></td>
</tr>
<tr>

BenefrancisdoNascimento 203
SISTEMAWEB

<tdcolspan="2">&nbsp;</td>
</tr>
<tr>
<tdcolspan="2">
</td>
</tr>
<tr>
<tdcolspan="2"><hrsize="1"></td>
</tr>
<tr>
<tdcolspan="2">
<tableborder="0"width="100%">
<thead>
<trclass="TopoTit">
<th>NOME</th>
<th>NASCIMENTO</th>
<th>TIPO</th>
<th>RAA</th>
<th>QTDSERVIOS</th>
<th>AES</th>
</tr>
</thead>
<tbody>
<%
pList=(List<Animal>)Animal.consultar();

BenefrancisdoNascimento 204
SISTEMAWEB

for(ListIteratoriter=pList.listIterator();iter.hasNext();){
Animalachei=(Animal)iter.next();
%>
<trclass="Txt">
<td><%out.print(achei.getNome());%></td>
<td><%out.print(achei.getDataNascimento().toLocaleString().substring(0,
10));%></td>
<td><%out.print(achei.getDescricao());%></td>
<td><%out.print(achei.getRaca());%></td>
<tdalign="center">
<%
List<Servico>servicos=(List<Servico>)Servico.consultar(achei);
out.print(servicos.size());
%>
</td>
<tdclass="Txt"align="center">
<%
intidPessoa=achei.getPessoa().getIdPessoa();
%>
<tableborder="0"align="center"cellpadding="2"cellspacing="2"
width="100%">
<tralign="center"valign="middle">
<td>
<a
href="../servicos/registrar.jsp?op=2&amp;idPessoa=<%out.print(idPessoa);%>&amp;idAnimal=
<%out.print(achei.getIdAnimal());%>">
<imgsrc="../images/img_cesto.png"width="30"height="30"

BenefrancisdoNascimento 205
SISTEMAWEB

alt="Incluirservio"title="Incluirservio"border="0"/>
</a>
</td>
<td>
<a
href="../consultas/detalhe_animal.jsp?idAnimal=<%out.print(achei.getIdAnimal());%>">
<imgsrc="../images/img_lupa_transparente.png"width="30"
height="30"alt="consultar"title="consultar"border="0"/>
</a>
</td>
<td>
<a
href="../consultas/editar_animal.jsp?op=1&amp;idAnimal=<%out.print(achei.getIdAnimal());%
>">
<imgsrc="../images/img_caderno_transparente.png"width="30"
height="30"alt="editar"title="editar"border="0"/>
</a>
</td>
<td>
<a
href="../consultas/excluir_animal.jsp?idAnimal=<%out.print(achei.getIdAnimal());%>">

<imgsrc="../images/img_lixeira_transparente.png"width="30"
height="30"alt="excluir"title="excluir"border="0"/>
</a>
</td>
</tr>
</table>

BenefrancisdoNascimento 206
SISTEMAWEB

</td>
</tr>
<%}%>
</tbody>
</table>
<jsp:includepage="../geral/rodape.jsp"/>
</td>
</tr>
</table>
</body>
</html>
Figure9cdigofontedapginaanimal.jspdiretrioconsultas

BenefrancisdoNascimento 207
SISTEMAWEB

Layout da pgina animal.jsp

Abaixo,olayoutdapginaanimal.jsp,presentenodiretrioconsultas.

Figure10Layoutdapginaanimal.jsp

detalhe_animal.jsp

Abaixo,ocdigodapginadetalhe_animal.jsppresentenodiretrioconsultas.

BenefrancisdoNascimento 208
SISTEMAWEB

<%@pagecontentType="text/html"pageEncoding="UTF8"%>
<%@pageimport="br.com.benefrancis.controle.*"%>
<%@pageimport="br.com.benefrancis.util.Util"%>
<%@pageimport="java.util.List"%>
<%@pageimport="java.util.ListIterator"%>
<%@pageimport="java.util.ArrayList"%>
<%@pageimport="java.util.Date"%>
<!DOCTYPEHTMLPUBLIC"//W3C//DTDHTML4.01Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<jsp:includepage="../geral/head.jsp"/>
<body>
<formaction="animal.jsp"method="post"name="Formulario">
<tablewidth="750"border="0"cellpadding="0"cellspacing="0"align="center">
<tr>
<tdcolspan="2">
<jsp:includepage="../geral/topo.jsp"/>
</td>
</tr>
<tr>
<tdheight="22"colspan="2"valign="top"class="Txt"><strong>DETALHAMENTO
DOANIMALDEESTIMAO</strong></td>
</tr>
<%
Animalanimal;
intidAnimal=0;

BenefrancisdoNascimento 209
SISTEMAWEB

try{
try{
idAnimal=Integer.parseInt(Util.SoNumero(request.getParameter("idAnimal")));
animal=Animal.consultar(idAnimal);
}catch(Exceptionex){
thrownewRuntimeException("ErroaoconstruiroObjetoanimal");
}
%>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
<tr>
<tdcolspan="2">
</td>
</tr>
<%
Pessoapessoa=Pessoa.consultar(animal.getPessoa().getIdPessoa());
%>
<tr>
<tdwidth="20%"class="TopoTit">Donodoanimal</td>
<tdwidth="80%"class="TextoTit">
<%out.print(pessoa.getNome());%>
</td>
</tr>
<tr>

BenefrancisdoNascimento 210
SISTEMAWEB

<tdheight="104"colspan="2"valign="top">
<tablewidth="100%"border="0"cellpadding="0"cellspacing="0"
align="center">
<tr>
<tdcolspan="2"><hrsize="1"></td>
</tr>
<tr>
<tdheight="22"colspan="2"valign="top"
class="Txt"><strong>ANIMAL</strong></td>
</tr>
<tr>
<tdcolspan="2">
<tablewidth="100%"border="0"cellpadding="0"cellspacing="0"
align="center">
<tr>
<tdwidth="162"class="Txt">Tipo</td>
<tdwidth="436"class="Txt">
<%out.print(animal.getDescricao());%>
</td>
</tr>
<tr>
<tdwidth="162"height="27"valign="top"class="Txt">Nome</td>
<tdwidth="436"valign="top"class="Txt">
<%out.print(animal.getNome());%>
</td>
</tr>
<tr>

BenefrancisdoNascimento 211
SISTEMAWEB

<tdheight="27"valign="top"class="Txt">Raa</td>
<tdvalign="top"class="Txt">
<%out.print(animal.getRaca());%>
</td>
</tr>
<tr>
<tdheight="27"valign="top"class="Txt">DatadeNascimento</td>
<tdvalign="top"class="Txt">

<%out.print(animal.getDataNascimento().toLocaleString().substring(0,10));%>
</td>
</tr>
<tr>
<tdheight="27"valign="top"class="Txt">Sexo</td>
<tdvalign="top"class="Txt">
<%out.print(animal.getSexo());%>
<td>
</tr>
<tr>
<tdheight="27"valign="top"class="Txt">Observacao</td>
<tdvalign="top"class="Txt">
<%out.print(animal.getObservacao());%>
<td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>

BenefrancisdoNascimento 212
SISTEMAWEB

</tr>
</table>
</td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
</table>
<%}catch(Exceptionex){
ex.printStackTrace();
out.print("<br>");
out.print("<br><center><fontface='verdana'color='red'size='2'><br
/>Erroaoconsultaroanimal</font></center><br>");
out.print(ex.getMessage());
out.print("<br>");
out.print("<br>");
}%>
<jsp:includepage="../geral/rodape.jsp"/>
</td>
</tr>
</table>
</form>
</body>
</html>
Figure11Ocdigodapginadetalhe_animal.jsp

BenefrancisdoNascimento 213
SISTEMAWEB

Layout da pgina detalhe_animal.jsp

Vejaabaixoolayoutdapginadetalheanimal.jsp

Figure12layoutdapginadetalhe_animal.jsp

Editar_animal.jsp

Codificaremosagoraapginaeditar_animal.jspquedeverestarnapastaconsultas.

BenefrancisdoNascimento 214
SISTEMAWEB

<%@pagecontentType="text/html"pageEncoding="UTF8"%>
<%@pageimport="br.com.benefrancis.controle.*"%>
<%@pageimport="br.com.benefrancis.util.Util"%>
<%@pageimport="java.util.List"%>
<%@pageimport="java.util.ListIterator"%>
<%@pageimport="java.util.ArrayList"%>
<%@pageimport="java.util.Date"%>

<%
//Iniciandovariaveis
intop=0;
intidPessoa=0;
intidAnimal=0;

//verificandoavarivelopenviadapeloformulrio:
try{
op=Integer.parseInt(Util.SoNumero(request.getParameter("op")));
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("Nofoiinformadaaoperaodesejada!");
}

try{
idAnimal=Integer.parseInt(Util.SoNumero(request.getParameter("idAnimal")));

BenefrancisdoNascimento 215
SISTEMAWEB

}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("necessrioinformaroiddoanimal!");
}
//Listandopessoas
List<Pessoa>pList=newArrayList<Pessoa>();
Animalanimal;
%>
<!DOCTYPEHTMLPUBLIC"//W3C//DTDHTML4.01Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<jsp:includepage="../geral/head.jsp"/>
<body>
<formaction="editar_animal.jsp"method="post"name="Formulario">
<tablewidth="750"border="0"cellpadding="0"cellspacing="0"align="center">
<tr>
<tdcolspan="2">
<jsp:includepage="../geral/topo.jsp"/>
</td>
</tr>
<tr>
<tdheight="22"colspan="2"valign="top"class="Txt"><strong>ATUALIZAODE
ANIMALDEESTIMAO</strong></td>
</tr>

<tr>

BenefrancisdoNascimento 216
SISTEMAWEB

<tdcolspan="2">
<%
try{
animal=Animal.consultar(idAnimal);
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("Animalnoencontrado");
}
%>
</td>
</tr>
<tr>
<td></td>
</tr>
<%if(op!=2){%>
<tr>
<tdcolspan="2">

<tablewidth="750"border="0"cellpadding="0"cellspacing="0"align="center">
<tr>
<tdwidth="23%"class="Txt">Donodoanimal</td>
<tdwidth="77%"class="Txt">
<selectname="idPessoa">
<optionvalue="0">Selecione</option>
<%

BenefrancisdoNascimento 217
SISTEMAWEB

pList=Pessoa.consultar();
for(ListIteratoriter=pList.listIterator();iter.hasNext();){
Pessoaachei=(Pessoa)iter.next();
%>
<optionvalue="<%out.print(achei.getIdPessoa());%>"<%if
(animal.getPessoa().getIdPessoa()==achei.getIdPessoa()){%>selected="true"<%}%>><%
out.print(achei.getNome());%></option>

<%
}
%>
</select>
</td>

</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
<tr>
<tdcolspan="2"><hrsize="1"></td>
</tr>

</table>

</td>
</tr>

BenefrancisdoNascimento 218
SISTEMAWEB

<%}%>
<%if(op==1){%>
<tr>
<tdcolspan="2">

<tablewidth="750"border="0"cellpadding="0"cellspacing="0"align="center">
<tr>
<tdheight="22"colspan="2"valign="top"
class="Txt"><strong>ANIMAL</strong></td>
</tr>
<tr>
<tdcolspan="2">
<tablewidth="100%"border="0"cellpadding="0"cellspacing="0"
align="center">
<tr>
<tdwidth="162"class="Txt">Tipo</td>
<tdwidth="436"class="Txt">
<selectname="tipoAnimal"id="tipoAnimal">
<optionvalue="1"<%if(animal.getTipo()==1){%>
selected="true"<%}%>>Cachorro</option>
<optionvalue="2"<%if(animal.getTipo()==2){%>
selected="true"<%}%>>Gato</option>
</select>
</td>
</tr>
<tr>
<tdwidth="162"height="27"valign="top"class="Txt">Nome</td>

BenefrancisdoNascimento 219
SISTEMAWEB

<tdwidth="436"valign="top"class="Txt">
<inputvalue="<%out.print(animal.getNome());%>"name="nome"
type="text"id="nome"size="50"maxlength="100">
<spanclass="style1">*</span></td>
</tr>
<tr>
<tdheight="27"valign="top"class="Txt">Raa</td>
<tdvalign="top"class="Txt">
<inputvalue="<%out.print(animal.getRaca());%>"name="raca"
type="text"id="raca"size="24"maxLength="50">
</td>
</tr>
<tr>
<tdheight="27"valign="top"class="Txt">DatadeNascimento</td>
<tdvalign="top"class="Txt">
<input
value="<%out.print(animal.getDataNascimento().toLocaleString().substring(0,10));%>"
name="dataNascimento"type="text"size="11"maxLength="10"
OnKeyPress="formatar(this,'##/##/####')"onKeyUp="javascript:Sonumero(this)">
</td>
</tr>
<tr>
<tdheight="27"valign="top"class="Txt">Sexo</td>
<tdvalign="top"class="Txt">
<selectname="sexo"id="sexo">
<optionvalue="M"<%if(animal.getSexo()=='M'){%>
selected="true"<%}%>>Macho</option>
<optionvalue="F"<%if(animal.getSexo()=='F'){%>

BenefrancisdoNascimento 220
SISTEMAWEB

selected="true"<%}%>>Femea</option>
</select>
<td>
</tr>
<tr>
<tdheight="27"valign="top"class="Txt">Observacao</td>
<tdvalign="top"class="Txt">
<textareaname="observacao"rows="4"cols="50">
<%
if(animal.getObservacao()!=null){
out.print(animal.getObservacao());
}
%>
</textarea>
<td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>

BenefrancisdoNascimento 221
SISTEMAWEB

<tr>
<tdclass="Txt"width="23%">&nbsp;</td>
<tdclass="Txt"width="77%">
<inputtype="hidden"name="op"value="2"/>
<inputtype="hidden"name="idAnimal"
value="<%out.print(animal.getIdAnimal());%>"/>
<inputtype="button"name="Btn_Entrar"value="Alterar"
onClick="ValidarAnimal(document.Formulario);">
</td>
</tr>
<tr>
<tdcolspan="2">
<jsp:includepage="../geral/rodape.jsp"/>

</td>
</tr>
</table>

</td>
</tr>
<%}elseif(op==2){%>
<tr>
<tdcolspan="2">
<%
//Declarandovariveis
//Pessoa

BenefrancisdoNascimento 222
SISTEMAWEB

Pessoapessoa=null;

//Animal
inttipoAnimal=0;
Stringnome=null;
Stringraca=null;
StringdataNascimento=null;
Stringsexo=null;
Stringobservacao=null;

//Tipo,nome,datadenascimentoesexosoobrigatrios
try{
try{
idPessoa=
Integer.parseInt(Util.SoNumero(request.getParameter("idPessoa")));
pessoa=Pessoa.consultar(idPessoa);
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("ErroaoconstruiroObjetopessoa");
}
try{
tipoAnimal=
Integer.parseInt(Util.SoNumero(request.getParameter("tipoAnimal")));
if(tipoAnimal==0){
thrownewRuntimeException("SelecioneoTipodoanimal");
}else{

BenefrancisdoNascimento 223
SISTEMAWEB

animal.setTipo(tipoAnimal);
}
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("Erroaopegarotipodoanimal");
}
try{
nome=request.getParameter("nome");
if(nome==null||nome==""||nome=="0"){
thrownewRuntimeException("Informeonomedoanimal");
}else{
animal.setNome(nome);
}
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("Erroaocapturaronomedoanimal");
}
try{
raca=request.getParameter("raca");
animal.setRaca(raca);
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("Erroaocapturararaadoanimal");

BenefrancisdoNascimento 224
SISTEMAWEB

try{
dataNascimento=request.getParameter("dataNascimento");

//validardataeconstruirumobjetoDate()casoadatasejavlida
if(dataNascimento==null||dataNascimento==""||dataNascimento
=="0"){
thrownewRuntimeException("Informeadatadenascimentodo
animal");
}elseif(Util.validarData(dataNascimento)!=true){
thrownewRuntimeException("Adatadenascimentodoanimal
invlida");
}else{
animal.setDataNascimento(newDate(dataNascimento));
}
}catch(Exceptionex){
ex.printStackTrace();
}
try{
sexo=request.getParameter("sexo");
if(sexo==null||sexo==""||sexo=="0"){
thrownewRuntimeException("Informeosexodoanimal");
}else{
animal.setSexo(sexo.charAt(0));
}
}catch(Exceptionex){
ex.printStackTrace();

BenefrancisdoNascimento 225
SISTEMAWEB

thrownewRuntimeException("Informeosexodoanimal");
}
try{
observacao=request.getParameter("observacao");
if(observacao!=""){
animal.setObservacao(observacao.trim());
}
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("ErroaopegaroparmetroObservao");
}
animal.setIdAnimal(idAnimal);
animal.setPessoa(pessoa);
Animal.alterar(animal);
out.print("<br><center><fontface='verdana'color='blue'size='2'><br
/>Animalatualizadocomsucessoemnossobancodedados</font></center><br>");
}catch(Exceptionex){
ex.printStackTrace();
out.print("<br>");
out.print("<br>");
out.print("<br>");
out.print("<br><center><fontface='verdana'color='red'size='2'><br
/>Erroaoatualizardadosdoanimal</font></center><br>");
out.print("<br><center><fontface='verdana'color='red'size='2'><br/>"+
ex.getMessage()+"</font></center><br>");
out.print("<br>");
out.print("<br>");

BenefrancisdoNascimento 226
SISTEMAWEB

}
%>
<jsp:includepage="../geral/rodape.jsp"/>
</td>
<tr>
<%}//fimdoifdeop%>
</table>
</form>
</body>
</html>
Figure13cdigofontedapginaeditar_animal.jsp

BenefrancisdoNascimento 227
SISTEMAWEB

Layout da pgina editar_animal.jsp

Vejaolayoutdapginaeditar_animal.jsp.

Figure14Layoutdapginaeditar_animal.jsp

Excluir_animal.jsp

Segueocdigofontedapginaqueexcluiumanimaldosistema.

BenefrancisdoNascimento 228
SISTEMAWEB

<%@pagecontentType="text/html"pageEncoding="UTF8"%>
<%@pageimport="br.com.benefrancis.controle.*"%>
<%@pageimport="br.com.benefrancis.util.Util"%>
<%@pageimport="java.util.List"%>
<%@pageimport="java.util.ArrayList"%>
<%@pageimport="java.util.ListIterator"%>

<!DOCTYPEHTMLPUBLIC"//W3C//DTDHTML4.01Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<jsp:includepage="../geral/head.jsp"/>
<body>

<tablewidth="750"border="0"cellpadding="0"cellspacing="0"align="center">

<tr>
<tdcolspan="2">
<jsp:includepage="../geral/topo.jsp"/>
</td>
</tr>

<tr>
<tdcolspan="2">
<%
intop=0;

BenefrancisdoNascimento 229
SISTEMAWEB

intidAnimal=0;
Animala=null;

try{
if(!request.getParameter("op").isEmpty()){
op=Integer.parseInt(request.getParameter("op"));
}
}catch(Exceptionex){
ex.printStackTrace();
}
try{
if(!request.getParameter("idAnimal").isEmpty()){
idAnimal=
Integer.parseInt(Util.SoNumero(request.getParameter("idAnimal")));
}
}catch(Exceptionex){
ex.printStackTrace();
}
a=Animal.consultar(idAnimal);
try{
if(op==1&&idAnimal>0){//Op=1:Deletar

Animal.excluir(a);

out.print("<br>");
out.print("<br>");

BenefrancisdoNascimento 230
SISTEMAWEB

out.print("<br>");
out.print("<center><fontface='verdana'color='blue'size='2'>Registro
excludocomsucesso</font></center>");
out.print("<br>");
out.print("<br>");
out.print("<br>");
%>
<%}else{%>
<tableborder="0"width="100%">
<thead>
<trclass="TextoTit"align="center">
<thcolspan="2"height="50">Estaoperaoexcluiro
<%out.print(a.getDescricao());%>de&nbsp;<font
color="blue"><%out.print(a.getPessoa().getNome());%></font>chamado:<fontcolor="blue">
<%out.print(a.getNome());%></font></th>
</tr>
</thead>
<tbody>
<trclass="TextoTit">
<tdcolspan="2"align="center"height="60">Confirmaaexcluso?</td>
</tr>
<tralign="center">
<tdwidth="50%"align="right"height="150"><form
action="excluir_animal.jsp"method="post"name="Formulario"><inputtype="hidden"
name="op"value="1"><inputtype="hidden"name="idAnimal"
value="<%out.print(a.getIdAnimal());%>">&nbsp;<inputtype="submit"name="btn_sim"
value="SIM">&nbsp;</form></td>
<tdwidth="50%"align="left"height="150"><form
action="../consultas/animal.jsp"method="post"name="Formulario">&nbsp;<input

BenefrancisdoNascimento 231
SISTEMAWEB

type="submit"name="btn_sim"value="NO">&nbsp;</form></td>
</tr>
</tbody>
</table>
<%
}
}catch(Exceptione){
out.print("<br>");
out.print("<center><fontface='verdana'color='red'size='2'>Erroao
excluir</font></center>");
out.print("<center><fontface='verdana'color='red'size='2'>"+
e.getMessage()+"<br>"+e.getCause()+"</font></center>");
}
%>
</td>
</tr>
<tr>
<tdcolspan="2">
<jsp:includepage="../geral/rodape.jsp"/>
</td>
</tr>
</table>
</body>
</html>
Figure15cdigofontedapginaexcluir_animal.jsp

BenefrancisdoNascimento 232
SISTEMAWEB

Layout da pgina excluir_animal.jsp

Vejaabaixoolayoutdapginaexcluir_animal.jsp.

Figure16Layoutdapginaexcluir_animal.jsp

servico.jsp

Apginaservico.jspdodiretriodeconsultaslistatodososserviosrealizadosqueesto
registradosnosistema.Apresentalinkparadetalhar,alterareexcluir.
Abaixo,ocdigofontedapginaservico.jsp.

BenefrancisdoNascimento 233
SISTEMAWEB

<%@pagecontentType="text/html"pageEncoding="UTF8"%>
<%@pageimport="br.com.benefrancis.controle.*"%>
<%@pageimport="br.com.benefrancis.util.Util"%>
<%@pageimport="java.util.List"%>
<%@pageimport="java.util.ListIterator"%>
<%@pageimport="java.util.ArrayList"%>
<%
List<Servico>sList=newArrayList<Servico>();
Stringdata="";
%>
<!DOCTYPEHTMLPUBLIC"//W3C//DTDHTML4.01Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<jsp:includepage="../geral/head.jsp"/>
<body>
<tablewidth="750"border="0"cellpadding="0"cellspacing="0"align="center">
<tr>
<tdcolspan="2">
<jsp:includepage="../geral/topo.jsp"/>
</td>
</tr>
<tr>
<tdheight="22"colspan="2"valign="top"class="Txt"><strong>SERVIOS
REALIZADOS</strong></td>
</tr>
<tr>

BenefrancisdoNascimento 234
SISTEMAWEB

<tdcolspan="2">&nbsp;</td>
</tr>
<tr>
<tdcolspan="2">
</td>
</tr>
<tr>
<tdcolspan="2"><hrsize="1"></td>
</tr>
<tr>
<tdcolspan="2">
<tableborder="0"width="100%">
<thead>
<trclass="TopoTit">
<th>DATA</th>
<th>TIPO</th>
<th>NOME</th>
<th>ANIMAL</th>
<th>VALOR</th>
<th>AES</th>
</tr>
</thead>
<tbody><%
try{
sList=(List<Servico>)Servico.consultar();

BenefrancisdoNascimento 235
SISTEMAWEB

for(ListIteratoriter=sList.listIterator();iter.hasNext();){
Servicoachei=(Servico)iter.next();
data=achei.getData().toLocaleString().substring(0,10);
%>
<trclass="Txt">
<td><%out.print(data);%></td>
<td><%out.print(achei.getNome());%></td>
<td><%out.print(achei.getDescricao());%></td>
<td><%out.print(achei.getAnimal().getNome());%></td>
<tdalign="right"><%out.print(achei.getValor());%></td>
<tdclass="Txt"align="center">
<tableborder="0"align="center"cellpadding="2"cellspacing="2"
width="100%">
<tralign="center"valign="middle">
<td><a
href="../consultas/detalhe_servico.jsp?idServico=<%out.print(achei.getIdServico());%>">
<imgsrc="../images/img_lupa_transparente.png"width="30"
height="30"alt="consultar"title="consultar"border="0"/>
</a>
</td>
<td><a
href="../consultas/editar_servico.jsp?idServico=<%out.print(achei.getIdServico());%>">
<imgsrc="../images/img_caderno_transparente.png"
width="30"height="30"alt="editar"title="editar"border="0"/>
</a>
</td>
<td>

BenefrancisdoNascimento 236
SISTEMAWEB

<ahref="../consultas/excluir_servico.jsp?idServico=<%out.print(achei.getIdServico());%>">
<imgsrc="../images/img_lixeira_transparente.png"width="30"
height="30"alt="excluir"title="excluir"border="0"/>
</a>
</td>
</tr>
</table>
</td>
</tr>
<%}
}catch(Exceptione){
out.print("<br>");
out.print("<center><fontface='verdana'color='red'size='2'>Erroaolistar
servios</font></center>");
out.print("<center><fontface='verdana'color='red'size='2'>"+e.getMessage()
+"</font></center>");
}
%>
</tbody>
</table>
<jsp:includepage="../geral/rodape.jsp"/>
</td>
</tr>
</table>
</body>
</html>
Figure17Ocdigofontedapginaservico.jsp

BenefrancisdoNascimento 237
SISTEMAWEB

Layout da pgina Servio.jsp

Vejaabaixoolayoutdapginaservico.jsp

Figure18Layoutdapginaservico.jsp

detalhe_servico.jsp

Codificaremosagoraapginadetalhe_servico.jsp.

BenefrancisdoNascimento 238
SISTEMAWEB

<%@pagecontentType="text/html"pageEncoding="UTF8"%>
<%@pageimport="java.util.*"%>
<%@pageimport="br.com.benefrancis.controle.*"%>
<%@pageimport="br.com.benefrancis.util.Util"%>
<!DOCTYPEHTMLPUBLIC"//W3C//DTDHTML4.01Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<jsp:includepage="../geral/head.jsp"/>
<body>
<tablewidth="750"border="0"cellpadding="0"cellspacing="0"align="center">
<tr>
<tdcolspan="2">
<jsp:includepage="../geral/topo.jsp"/>
</td>
</tr>
<tr>
<tdheight="22"colspan="2"valign="top"class="Txt"><strong>DETALHAMENTODE
SERVIOREALIZADO</strong></td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
<tr>
<tdcolspan="2">
</td>
</tr>

BenefrancisdoNascimento 239
SISTEMAWEB

<tr>
<tdheight="104"colspan="2"valign="top">
<formaction="registrar.jsp"method="post"name="Formulario">
<tablewidth="100%"border="0"cellpadding="0"cellspacing="0"
align="center">
<!DWLayoutTable>

<tr>
<tdcolspan="2">

<%
intidServico=
Integer.parseInt(Util.SoNumero(request.getParameter("idServico")));
Stringdata="";
try{
Servicoservico=Servico.consultar(idServico);

data=servico.getData().toLocaleString().substring(0,10);
%>
<tablewidth="100%"border="0"cellpadding="0"cellspacing="0"
align="center">
<tr>
<tdwidth="20%"class="TopoTit">CLIENTE:</td>
<tdclass="TextoTit"><%
out.print(servico.getAnimal().getPessoa().getNome());%></td>
</tr>
<tr>

BenefrancisdoNascimento 240
SISTEMAWEB

<tdwidth="20%"class="TopoTit">ANIMALDEESTIMAO:</td>
<tdclass="TextoTit"><%
out.print(servico.getAnimal().getNome());%></td>
</tr>
</table>
</td>
</tr>
<tr>
<tdcolspan="2"><hrsize="1"></td>
</tr>
<tr>
<tdheight="22"colspan="2"valign="top"class="Txt"><strong>SERVIO
EXECUTADO</strong></td>
</tr>
<tr>
<tdcolspan="2">
<tablewidth="100%"border="0"cellpadding="0"cellspacing="0"
align="center">
<tr>
<tdwidth="162"class="Txt">Servio</td>
<tdwidth="436"class="Txt">
<%out.print(servico.getNome());%>
</td>
</tr>
<tr>
<tdwidth="162"height="27"valign="top"class="Txt">Nome/
Descrio</td>

BenefrancisdoNascimento 241
SISTEMAWEB

<tdwidth="436"valign="top"class="Txt">
<%out.print(servico.getNome());%>
</td>
</tr>

<tr>
<tdheight="27"valign="top"class="Txt">ValorR$</td>
<tdvalign="top"class="Txt">
<%out.print(servico.getValor());%>
</td>
</tr>
<tr>
<tdheight="27"valign="top"class="Txt">Datadeexecuo</td>
<tdvalign="top"class="Txt">
<%out.print(data);%>
</td>
</tr>
<tr>
<tdheight="27"valign="top"class="Txt">Observacao</td>
<tdvalign="top"class="Txt">
<%out.print(servico.getObservacao());%>
<td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>

BenefrancisdoNascimento 242
SISTEMAWEB

</tr>
</table>
</td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
</table>
</form>
</td>
</tr>
<tr>
<tdclass="Txt">&nbsp;</td>
<tdclass="Txt">
</td>
</tr>

<tr>
<tdcolspan="2">
<%}catch(Exceptionex){
ex.printStackTrace();
out.print("<br>");
out.print("<br>");
out.print("<br>");
out.print("<br><center><fontface='verdana'color='red'size='2'><br

BenefrancisdoNascimento 243
SISTEMAWEB

/>Erroaocadastraroservioexecutado</font></center><br>");
out.print("<br><center><fontface='verdana'color='red'size='2'><br/>"
+ex.getMessage()+"</font></center><br>");
out.print("<br>");
out.print("<br>");
}
%>
<jsp:includepage="../geral/rodape.jsp"/>
</td>
</tr>
</table>
</body>
</html>
Figure19Cdigofontedapginadetalhe_servico.jsp

Layout da pgina detalhe_servico.jsp

Abaixoolayoutdapginadetalhe_servico.jsp.

BenefrancisdoNascimento 244
SISTEMAWEB

Figure20Layoutdapginadetalhe_servico.jsp

Editar_servico.jsp

Codificaremosagoraapginaeditar_servico.jsp.

BenefrancisdoNascimento 245
SISTEMAWEB

<%@pagecontentType="text/html"pageEncoding="UTF8"%>
<%@pageimport="java.util.*"%>
<%@pageimport="br.com.benefrancis.controle.*"%>
<%@pageimport="br.com.benefrancis.util.Util"%>

<!DOCTYPEHTMLPUBLIC"//W3C//DTDHTML4.01Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<jsp:includepage="../geral/head.jsp"/>
<body>
<tablewidth="750"border="0"cellpadding="0"cellspacing="0"align="center">
<tr>
<tdcolspan="2">
<jsp:includepage="../geral/topo.jsp"/>
</td>
</tr>
<tr>
<tdheight="22"colspan="2"valign="top"class="Txt"><strong>DETALHAMENTODE
SERVIOREALIZADO</strong></td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
<tr>
<tdcolspan="2">
</td>

BenefrancisdoNascimento 246
SISTEMAWEB

</tr>
<tr>
<tdheight="104"colspan="2"valign="top">
<formaction="editar_servico.jsp"method="post"name="Formulario">
<tablewidth="100%"border="0"cellpadding="0"cellspacing="0"
align="center">
<!DWLayoutTable>
<tr>
<tdcolspan="2">
<%
intop=0;
try{
op=Integer.parseInt(Util.SoNumero(request.getParameter("op")));

}catch(Exceptione){
e.printStackTrace();
}

intidServico=
Integer.parseInt(Util.SoNumero(request.getParameter("idServico")));
Stringdata="";

Servicoservico=Servico.consultar(idServico);
data=servico.getData().toLocaleString().substring(0,10);

try{

BenefrancisdoNascimento 247
SISTEMAWEB

if(op==0){
%>

<tablewidth="100%"border="0"cellpadding="0"cellspacing="0"
align="center">
<tr>
<tdwidth="20%"class="TopoTit">CLIENTE:</td>
<tdclass="TextoTit"><%
out.print(servico.getAnimal().getPessoa().getNome());%></td>
</tr>
<tr>
<tdwidth="20%"class="TopoTit">ANIMALDEESTIMAO:</td>
<tdclass="TextoTit"><%
out.print(servico.getAnimal().getNome());%></td>
</tr>
</table>
</td>
</tr>
<tr>
<tdcolspan="2"><hrsize="1"></td>
</tr>
<tr>
<tdheight="22"colspan="2"valign="top"class="Txt"><strong>SERVIO
EXECUTADO</strong></td>
</tr>
<tr>
<tdcolspan="2">

BenefrancisdoNascimento 248
SISTEMAWEB

<tablewidth="100%"border="0"cellpadding="0"cellspacing="0"
align="center">
<tr>
<tdwidth="162"class="Txt">Servio</td>
<tdwidth="436"class="Txt">
<selectname="servico"id="servico">
<optionvalue="Consulta"<%if
(servico.getNome().equals("Consulta")){%>selected="true"<%}%>>Consulta
Veterinria</option>
<optionvalue="Banho"<%if
(servico.getNome().equals("Banho")){%>selected="true"<%}%>>Banho</option>
<optionvalue="Tosa"<%if(servico.getNome().equals("Tosa"))
{%>selected="true"<%}%>>Tosa</option>
<optionvalue="Vacina"<%if
(servico.getNome().equals("Vacina")){%>selected="true"<%}%>>Vacina</option>
</select>
</td>
</tr>
<tr>
<tdwidth="162"height="27"valign="top"class="Txt">Nome/
Descrio</td>
<tdwidth="436"valign="top"class="Txt">
<inputname="nome"value="<%
out.print(servico.getNome());%>"type="text"id="nome"size="50"maxlength="100">
</td>
</tr>
<tr>
<tdheight="27"valign="top"class="Txt">ValorR$</td>
<tdvalign="top"class="Txt">

BenefrancisdoNascimento 249
SISTEMAWEB

<inputname="valor"value="<%out.print(servico.getValor());%>"
type="text"size="11"maxLength="10"onKeyUp="javascript:Sonumero(this)">
</td>
</tr>
<tr>
<tdheight="27"valign="top"class="Txt">Datadeexecuo</td>
<tdvalign="top"class="Txt">
<inputtype="text"value="<%out.print(data);%>"name="data">
</td>
</tr>
<tr>
<tdheight="27"valign="top"class="Txt">Observacao</td>
<tdvalign="top"class="Txt">

<textareaname="observacao"rows="4"cols="50"><%
if(servico.getObservacao()!=null&&servico.getObservacao()!=""&&
servico.getObservacao()!="null"){
out.print(servico.getObservacao().trim());
}%></textarea>
<td>
</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
</table>
</td>

BenefrancisdoNascimento 250
SISTEMAWEB

</tr>
<tr>
<tdcolspan="2">&nbsp;</td>
</tr>
<tr>
<tdclass="Txt"width="23%">&nbsp;</td>
<tdclass="Txt"width="77%">
<inputtype="hidden"name="op"value="3"/>
<inputtype="hidden"name="idAnimal"value="<%
out.print(servico.getAnimal().getIdAnimal());%>"/>
<inputtype="hidden"name="idServico"value="<%
out.print(servico.getIdServico());%>"/>
<inputtype="button"name="Btn_Entrar"value="Alterar"
onClick="ValidarRegistro(document.Formulario);">
</td>
</tr>
</table>
</form>
</td>
</tr>
<tr>
<tdclass="Txt">&nbsp;</td>
<tdclass="Txt">
<%
}elseif(op==3){
StringservicoEscolhido="";
Stringnome="";

BenefrancisdoNascimento 251
SISTEMAWEB

intperiodicidade=0;
StringnovaData="";

//Criandoumobjetoservio
servicoEscolhido=request.getParameter("servico");
novaData=request.getParameter("data");

servico=Servico.consultar(servico.getIdServico());
if(Util.validarData(novaData)){
servico.setData(newDate(novaData));
}
try{
nome=request.getParameter("nome");
if(nome==null||nome==""||nome=="0"){
thrownewRuntimeException("Informeonomeoudescriodoservioefetuado");
}else{
servico.setNome(nome);
}
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("Erroaopegaronomedoservioefetuado");
}
doublevalor=0;
try{
valor=Double.parseDouble(request.getParameter("valor"));

BenefrancisdoNascimento 252
SISTEMAWEB

servico.setValor(valor);
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("Informecorretamenteovalordoservioexecutado");
}

Stringobservacao=null;
try{
observacao=request.getParameter("observacao");
servico.setObservacao(observacao);
}catch(Exceptionex){
ex.printStackTrace();
thrownewRuntimeException("Erroaopegaronomedoservioefetuado");
}

Servico.alterar(servico);
out.print("<br>");
out.print("<br>");
out.print("<br>");
out.print("<br><center><fontface='verdana'color='blue'size='2'><br/>Servioatualizado
comsucesso!</font></center><br>");
out.print("<br>");
out.print("<br>");
}else{
thrownewRuntimeException("Operaoinvlida");
}

BenefrancisdoNascimento 253
SISTEMAWEB

%>
</td>
</tr>
<tr>
<tdcolspan="2">
<%}catch(Exceptionex){
ex.printStackTrace();
out.print("<br>");
out.print("<br>");
out.print("<br>");
out.print("<br><center><fontface='verdana'color='red'size='2'><br
/>Erroaocadastraroservioexecutado</font></center><br>");
out.print("<br><center><fontface='verdana'color='red'size='2'><br/>"
+ex.getMessage()+"</font></center><br>");
out.print("<br>");
out.print("<br>");
}
%>
<jsp:includepage="../geral/rodape.jsp"/>
</td>
</tr>
</table>
</body>
</html>
Figure19Cdigofontedapginaeditar_servico.jsp

BenefrancisdoNascimento 254
SISTEMAWEB

Layout da pgina editar_servico.jsp

Abaixoolayoutdapginaeditar_servico.jsp.

Figure20Layoutdapginaeditar_servico.jsp

Excluir_servico.jsp

Eparafinalizarcodificaremosapginaexcluir_servico.jsp

BenefrancisdoNascimento 255
SISTEMAWEB

<%@pagecontentType="text/html"pageEncoding="UTF8"%>
<%@pageimport="br.com.benefrancis.controle.*"%>
<%@pageimport="br.com.benefrancis.util.Util"%>
<%@pageimport="java.util.List"%>
<%@pageimport="java.util.ArrayList"%>
<%@pageimport="java.util.ListIterator"%>

<!DOCTYPEHTMLPUBLIC"//W3C//DTDHTML4.01Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<jsp:includepage="../geral/head.jsp"/>
<body>
<tablewidth="750"border="0"cellpadding="0"cellspacing="0"align="center">
<tr>
<tdcolspan="2">
<jsp:includepage="../geral/topo.jsp"/>
</td>
</tr>

<tr>
<tdcolspan="2">
<%
intop=0;
intidServico=0;
Servicos=null;

BenefrancisdoNascimento 256
SISTEMAWEB

try{
if(!request.getParameter("op").isEmpty()){
op=Integer.parseInt(request.getParameter("op"));
}
}catch(Exceptionex){
ex.printStackTrace();
}
try{
if(!request.getParameter("idServico").isEmpty()){
idServico=Integer.parseInt(Util.SoNumero(request.getParameter("idServico")));
}
}catch(Exceptionex){
ex.printStackTrace();
}
s=Servico.consultar(idServico);
try{
if(op==1&&idServico>0){//Op=1:Deletar
Servico.excluir(s);
out.print("<br>");
out.print("<br>");
out.print("<br>");
out.print("<center><fontface='verdana'color='blue'size='2'>Registroexcludo
comsucesso</font></center>");
out.print("<br>");
out.print("<br>");
out.print("<br>");

BenefrancisdoNascimento 257
SISTEMAWEB

}else{%>

<tableborder="0"width="100%">
<thead>
<trclass="TextoTit"align="center">
<thcolspan="2"height="50">Estaoperaoexcluiroservioreferente<%
out.print(s.getNome()+""+s.getDescricao());%>em&nbsp;<font
color="blue"><%out.print(s.getAnimal().getNome());%></font>quepertencea<font
color="blue"><%out.print(s.getAnimal().getPessoa().getNome());%></font></th>
</tr>
</thead>
<tbody>
<trclass="TextoTit">
<tdcolspan="2"align="center"height="60">Confirmaaexcluso?</td>
</tr>
<tralign="center">
<tdwidth="50%"align="right"height="150"><form
action="excluir_servico.jsp"method="post"name="Formulario"><inputtype="hidden"
name="op"value="1"><inputtype="hidden"name="idServico"
value="<%out.print(s.getIdServico());%>">&nbsp;<inputtype="submit"name="btn_sim"
value="SIM">&nbsp;</form></td>
<tdwidth="50%"align="left"height="150"><form
action="../consultas/servico.jsp"method="post"name="Formulario">&nbsp;<input
type="submit"name="btn_sim"value="NO">&nbsp;</form></td>
</tr>
</tbody>
</table>
<%
}

BenefrancisdoNascimento 258
SISTEMAWEB

}catch(Exceptione){
out.print("<br>");
out.print("<center><fontface='verdana'color='red'size='2'>Erroaoexcluir
</font></center>");
out.print("<center><fontface='verdana'color='red'size='2'>"+e.getMessage()+
"<br>"+e.getCause()+"</font></center>");
}
%>
</td>
</tr>
<tr>
<tdcolspan="2">
<jsp:includepage="../geral/rodape.jsp"/>
</td>
</tr>
</table>
</body>
</html>
Figure21Cdigofontedapginaexcluir_servico.jsp

BenefrancisdoNascimento 259
SISTEMAWEB

Layout da pgina excluir_servico.jsp

Aprentoolayoutdapginaexcluir_servico.jsp.

Figure22excluir_servico.jsp

BenefrancisdoNascimento 260
SISTEMAWEB

Consideraes finais

Desenvolvemos um sistema completo e funcional utilizando java, hibernate e JSP.


Espero que este artigo se torne um material de grande valor aos estudantes e
desenvolvedores de sistemas para web. Este material veio para completar o meu
artigo sobre MAPEAMENTOOBJETORELACIONALCOMHIBERNATE.
Estou aberto a criticas e sugestes, com objetivo de alimentar o processo de melhoria
contnua de meus artigos. O contato dever ser estabelecido por meio do seguinte
endereo eletrnico:
benefrancis@gmail.com
twitter:
@Benefrancis
Skype:
Benefrancis.com

Вам также может понравиться