Академический Документы
Профессиональный Документы
Культура Документы
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
Criaremosagoraonossodatabase.Paraisso,cliquecomobotodadireitadomouse
noTreeviewroot@127.0.0.1;abrirummenususpensonoqualvocdeveracessara
opoCreateNew/Database.Atelarepresentadnaimagemabaixoseraberta.
Preenchaosdadosconformeaimagemabaixo.
Disponvelem:http://www.heidisql.com/
BenefrancisdoNascimento 9
SISTEMAWEB
Figura3Criandoobancodedadoscomonomeestimacao
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.
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
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
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);
}
IniciaremosomapeamentoObjetoRelacionaldaclassepessoa
PrecisamosinformaraoHibernatequeaclassepessoadarorigemaobjetosquesero
persistidosembancodedados.Paraissoutilizamosaseguinteanotao:
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
@DiscriminatorColumn(name="tipo")
BenefrancisdoNascimento 22
SISTEMAWEB
Asanotaesacimadeveroserinseridasantesdonomedaclasse.Vejaimagemabaixo:
Figura15InformandoaoHibernatequeaClassePessoaserpersistidaeaestratgiadeHerana
utilizada
AodigitarasanotaesoNetbeanssugerealgumasimportaes,vocdeverescolheras
importaesconformeaslinhasquevode5a8naimagemacima.
ONetbeansirasugeriracriaodoidparahierarquiadaclasse,paracriaroidqueseroid
databelanobancodedados;insiraocdigoabaixoantesdoatributoidPessoa.Ser
necessrioalterardepublicparaprivateoatributoidPessoa.Nodeixedefazeras
importaessugeridaspeloNetbeans,pormselecionesempreasquecomeamcom
javax.persistence
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
privateintidPessoa;
BenefrancisdoNascimento 23
SISTEMAWEB
BenefrancisdoNascimento 24
SISTEMAWEB
BenefrancisdoNascimento 25
SISTEMAWEB
Figura16Atributosdaclassepessoaqueseropersistidos
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
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);
}
IniciaremosomapeamentoobjetorelacionaldaclasseTelefone.
Parainformarqueaclassetelefonedarorigemaobjetosqueseropersistidosembancode
dados,bastaapenasincluiraanotao@Entityantesdonomedaclasse.
BenefrancisdoNascimento 29
SISTEMAWEB
Paracriaroidqueseroiddatabelanobancodedados;insiraocdigoabaixoantesdo
atributoidTelefone.NodeixedefazerasimportaessugeridaspeloNetbeans,porm
selecionesempreasquecomeamcomjavax.persistence.
Figura20InformandoaoHibernatequalseroIddatabelatelefone
BenefrancisdoNascimento 30
SISTEMAWEB
Figura21AtributosdaclasseTelefonequeseropersistidos
Paraencapsularoscamposdaclassetelefoneacesseomenrefatorar/encapsularcampos.A
telaabaixoseraberta.Selecionetodososcamposecliqueemrefatorar.
BenefrancisdoNascimento 31
SISTEMAWEB
Figura22EncapsulandoosatributosdaclasseTelefone
Figura23CriandomtodoconstrutorparaaclasseTelefone
BenefrancisdoNascimento 32
SISTEMAWEB
A classe Endereco
Figura24AtributosdaclasseEndereco
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
ParainformarqueaclasseEnderecodarorigemaobjetosqueseropersistidosembancode
dados,bastaapenasincluiraanotao@Entityantesdonomedaclasse.
Paracriaroidqueseroiddatabelanobancodedados;insiraocdigoabaixoantesdo
atributoidEndereco.NodeixedefazerasimportaessugeridaspeloNetbeans,porm
selecionesempreasquecomeamcomjavax.persistence.
Figura25InformandoaoHibernatequalseroIddatabelaendereo
BenefrancisdoNascimento 35
SISTEMAWEB
Figura26OsatributosdaclasseEnderecoqueseropersistidos
BenefrancisdoNascimento 36
SISTEMAWEB
Paraencapsularoscamposdaclasseenderecoacesseomenrefatorar/encapsularcampos.
Atelaabaixoseraberta.Selecionetodososcamposecliqueemrefatorar.
Figura27Encapsulandocamposdaclasseendereo
BenefrancisdoNascimento 37
SISTEMAWEB
Figura28MtodosconstrutoresparaaclasseEndereco
A classe DocReceita
CodificaremosagoraaclasseDocReceita.
Figura29AinterfaceDocReceita
Mapeando a classe DocReceita
IniciaremosomapeamentoobjetorelacionaldaclasseDocReceita.
BenefrancisdoNascimento 38
SISTEMAWEB
ParainformarqueaclasseDocReceitadarorigemaobjetosqueseropersistidosembanco
dedados,bastaapenasincluiraanotao@Entityantesdonomedaclasse,pormdocReceita
seraclassemedeCPFeCNPJ,destaformasernecessrioinformarqualaestratgiade
heranaqueutilizaremos.
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
@DiscriminatorColumn(name="tipo")
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
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
PrecisamosinformaraoHibernatequeaclasseAnimaldarorigemaobjetosquesero
persistidosembancodedadosequalseraestratgiaparahierarquia.Paraissoutilizamosas
seguintesanotaes:
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
@DiscriminatorColumn(name="tipo")
Asanotaesacimadeveroserinseridasantesdonomedaclasse.Vejaimagemabaixo:
Figura33informaraoHibernatequeaclasseAnimaldarorigemaobjetosqueseropersistidosem
bancodedadosequalseraestratgiaparahierarquia
BenefrancisdoNascimento 45
SISTEMAWEB
ONetbeansirasugeriracriaodoidparahierarquiadaclasse,paracriaroidqueseroid
databelanobancodedados;insiraocdigoabaixoantesdoatributoidAnimal.Nodeixede
fazerasimportaessugeridaspeloNetbeans,pormselecionesempreasquecomeamcom
javax.persistence
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
privateintidAnimal;
Figura34Acriaodoidparahierarquiadaclasse
BenefrancisdoNascimento 46
SISTEMAWEB
Figura35Osatributosdaclasseanimalqueseropersistidos
BenefrancisdoNascimento 47
SISTEMAWEB
Paraencapsularoscamposdaclasseanimalacesseomenrefatorar/encapsularcampos.A
telaabaixoseraberta.Selecionetodososcamposecliqueemrefatorar.
Figura36EncapsulandocamposdaclasseAnimal
Figura37MtodosconstrutoresparaaclasseAnimal
BenefrancisdoNascimento 48
SISTEMAWEB
A classe Cachorro
ExibimosabaixoaclasseCachorrojcomasdevidasanotaeseomtodoconstrutor.
Figura38AclasseCachorrojcomasdevidasanotaeseomtodoconstrutor.
BenefrancisdoNascimento 49
SISTEMAWEB
A classe Gato
ExibimosabaixoaclasseGatojcomasdevidasanotaeseomtodoconstrutor.
Figura39AclasseGatojcomasdevidasanotaeseomtodoconstrutor
BenefrancisdoNascimento 50
SISTEMAWEB
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
IniciaremosomapeamentoobjetorelacionaldaclasseabstrataServico.
PrecisamosinformaraoHibernatequeaclasseServicodarorigemaobjetosquesero
persistidosembancodedados.Paraissoutilizamosaseguinteanotao:
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
@DiscriminatorColumn(name="tipo")
Asanotaesacimadeveroserinseridasantesdonomedaclasse.Vejaimagemabaixo:
Figura41AclasseServicodarorigemaobjetosqueseropersistidosembancodedados
BenefrancisdoNascimento 53
SISTEMAWEB
Asconstantesnoseromapeadas.
Figura42InformandoaoHibernatequaisosatributosdaclasseServicoqueseropersistidos
BenefrancisdoNascimento 54
SISTEMAWEB
ParaencapsularoscamposdaclasseServicoacesseomenrefatorar/encapsularcampos.A
telaabaixoseraberta.Selecionetodososcamposecliqueemrefatorar.
Figura43EncapsulandocamposdaclasseServico
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
BenefrancisdoNascimento 59
SISTEMAWEB
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
ParaobterconexescomoHibernatecriamosaclasseConexaoHibernatenopacotemodelo.
Ocdigopoderservisualizadonaimagemabaixo:
Figura45AclasseConexaoHibernate
AclasseConexaoHibernatepossuiumblocoestticonoqualpormeiodavarivel
sessionFactorycapturamosasconfiguraesinseridasnoarquivohibernate.cfg.xml.Criamos
tambmummtodoestticogetInstance()queretornarumasesso.
BenefrancisdoNascimento 61
SISTEMAWEB
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
BenefrancisdoNascimento 64
SISTEMAWEB
Introduo
Figura49Exceodemtodoquenofoiimplementado
DeveremosinserirocontedodosmtodosdasclassesDAO.Eestaseranossaatividade
nestecapitulo.OscdigosdasclassesDAOseromuitosemelhantesaosmtodosdasoutras
classesdeacessoemanipulaodedados.Vejam.
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
Figura51ConsultandoPessoapeloid
BenefrancisdoNascimento 67
SISTEMAWEB
Usaremosasobrecargademtodosparacriarmaisumaopodeconsulta.Agora
consultaremostodasaspessoascadastradas.
Figura52Consultandotodasaspessoascadastradas
BenefrancisdoNascimento 68
SISTEMAWEB
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
Salvar
Nestemtodosalvaremosumanimalnobancodedados.Omtodoesperacomoparmetro
umobjetodotipoAnimal.Poderemosenviarcachorrosougatos,poisesteumclssico
mtodopolifrmico.
Figura56Salvandoanimais
BenefrancisdoNascimento 72
SISTEMAWEB
Criamosummtodoparasalvartodososanimaisdeumapessoa.
Figura57Salvandotodososanimaisdeumapessoa
BenefrancisdoNascimento 73
SISTEMAWEB
Codificaremosomtodoqueconsultaanimalpeloid
Figura58ConsultandoanimaispeloId
BenefrancisdoNascimento 74
SISTEMAWEB
Alterando animais
CodificaremosomtodoalterardaclasseanimalDAO.
Figura59Alterandoanimal
BenefrancisdoNascimento 75
SISTEMAWEB
Excluindo animal
AbaixoocdigodomtodoexcluirdaclasseAnimalDAO.
Figura60Excluindoanimal
BenefrancisdoNascimento 76
SISTEMAWEB
Codificaremosummtodoparaexclusodetodososanimaisdeumapessoa.
Figura61Excluindotodososanimaisdeumapessoa
BenefrancisdoNascimento 77
SISTEMAWEB
IniciaremosagoraacodificaodosmtodosdaclasseServicoDAO.
Salvar
AbaixoomtodosalvardaclasseServicoDAO.
Figura62Salvandoservios
BenefrancisdoNascimento 78
SISTEMAWEB
Abaixoocdigoparaconsultadeserviopeloid.
Figura63Consultandoserviopeloid
BenefrancisdoNascimento 79
SISTEMAWEB
Codificaremosummtodoparasalvartodososserviosdeumanimal.
Figura64Salvandotodososserviosdeumanimal
BenefrancisdoNascimento 80
SISTEMAWEB
Codificaremosomtodoquedeverretornartodosserviosrealizadosemumanimal.
Figura65Consultandotodosserviosrealizadosemumanimal
BenefrancisdoNascimento 81
SISTEMAWEB
Codificaremosummtodoparaquesejapossvelexcluirtodososserviosdeumanimal.
Figura66Excluindotodososserviosdeumanimal
BenefrancisdoNascimento 82
SISTEMAWEB
Alterando servio
Desenvolvendomtodoparaalterarumservio.
Figura67Alterandoservio
BenefrancisdoNascimento 83
SISTEMAWEB
Excluindo servio
Abaixoocdigoparaexclusodeservio
Figura68Excluindoservio
BenefrancisdoNascimento 84
SISTEMAWEB
IniciaremosagoraacodificaodosmtodosdaclasseTelefoneDAO.
salvar
Figura69Salvandoumtelefone
BenefrancisdoNascimento 85
SISTEMAWEB
Figura70Consultandotelefonepeloid
BenefrancisdoNascimento 86
SISTEMAWEB
Omtodoabaixoproveaconsultadetodosostelefonesdeumapessoa.
Figura71Consultandotodosostelefonesdeumapessoa
BenefrancisdoNascimento 87
SISTEMAWEB
Omtodoabaixosalvatodosostelefonesdeumapessoa
Figura72Salvandotodosostelefonesdeumapessoa
BenefrancisdoNascimento 88
SISTEMAWEB
Excluindo telefone
Omtodoabaixoexcluiumtelefonedabasededados
Figura73Excluindotelefone
BenefrancisdoNascimento 89
SISTEMAWEB
Ocdigoabaixoexcluitodosostelefonesdeumapessoa
Figura74Excluindotodosostelefonesdeumapessoa
BenefrancisdoNascimento 90
SISTEMAWEB
IniciaremosagoraacodificaodosmtodosdaclasseEnderecoDAO.
Salvar
Omtodoabaixosalvaumendereonobancodedados
Figura75Salvandotodososendereosdeumapessoa
BenefrancisdoNascimento 91
SISTEMAWEB
OmtodoabaixoconsultaendereopeloId.
Figura76Consultandoendereopeloid
BenefrancisdoNascimento 92
SISTEMAWEB
Omtodoabaixoconsultatodososendereosdeumapessoa.
Figura77Consultandotodososendereosdeumapessoa
BenefrancisdoNascimento 93
SISTEMAWEB
Alterando um endereo
Abaixocodificaremosummtodoparaalterarendereo
Figura78Alterandoumendereo
BenefrancisdoNascimento 94
SISTEMAWEB
Excluindo um endereo
Omtodoabaixoexcluiumendereo
Figura79Excluindoendereo
BenefrancisdoNascimento 95
SISTEMAWEB
Omtodoabaixoexcluitodososendereosdeumapessoa.
Figura80Excluindotodososendereosdeumapessoa
BenefrancisdoNascimento 96
SISTEMAWEB
BenefrancisdoNascimento 97
SISTEMAWEB
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
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
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
BenefrancisdoNascimento 106
SISTEMAWEB
Figura86Autenticandoindex.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
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
Abaixoateladeboasvindasdanossaaplicao.
Figura91Ateladeboasvindasdanossaaplicao
BenefrancisdoNascimento 115
SISTEMAWEB
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
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
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Í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Ç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"> </td>
<td></td>
</tr>
<tr><td> </td></tr>
BenefrancisdoNascimento 132
SISTEMAWEB
<tr>
<tdclass="Txt"width="20"> </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> </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
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"> </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"> </td>
</tr>
<tr>
<tdcolspan="2"> </td>
</tr>
<tr>
<tdclass="Txt"> </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"> </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"> </td>
</tr>
</table>
</td>
</tr>
<tr>
<tdcolspan="2"> </td>
</tr>
<tr>
<tdclass="Txt"width="23%"> </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"> </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
Figura95Layoutdapginapararegistrodeanimal
BenefrancisdoNascimento 150
SISTEMAWEB
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>
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
//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"> </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"> </td>
</tr>
<tr>
<tdcolspan="2"> </td>
</tr>
<tr>
<tdclass="Txt"> </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"> </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"> </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"> </td>
</tr>
<tr>
BenefrancisdoNascimento 158
SISTEMAWEB
<tdcolspan="2"> </td>
</tr>
<tr>
<tdclass="Txt"> </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"> </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"> </td>
</tr>
</table>
</td>
</tr>
BenefrancisdoNascimento 162
SISTEMAWEB
<tr>
<tdcolspan="2"> </td>
</tr>
<tr>
<tdclass="Txt"width="23%"> </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"> </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
Figura97Layoutdapaginapararegistrodeservio
BenefrancisdoNascimento 168
SISTEMAWEB
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"> </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()+" ");
}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&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&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
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Í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Ç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"> </td>
<td></td>
</tr>
<tr>
<tdclass="Txt"width="23%"> </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> </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
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());%>"> <inputtype="submit"name="btn_sim"
value="SIM"> </form></td>
<tdwidth="50%"align="left"height="150"><form
action="../consultas/pessoa.jsp"method="post"name="Formulario"> <input
type="submit"name="btn_sim"value="NO"> </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
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"> </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&idPessoa=<%out.print(idPessoa);%>&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&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
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"> </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"> </td>
BenefrancisdoNascimento 212
SISTEMAWEB
</tr>
</table>
</td>
</tr>
<tr>
<tdcolspan="2"> </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
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"> </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"> </td>
</tr>
</table>
</td>
</tr>
<tr>
<tdcolspan="2"> </td>
</tr>
BenefrancisdoNascimento 221
SISTEMAWEB
<tr>
<tdclass="Txt"width="23%"> </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
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 <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());%>"> <inputtype="submit"name="btn_sim"
value="SIM"> </form></td>
<tdwidth="50%"align="left"height="150"><form
action="../consultas/animal.jsp"method="post"name="Formulario"> <input
BenefrancisdoNascimento 231
SISTEMAWEB
type="submit"name="btn_sim"value="NO"> </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
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"> </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
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"> </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"> </td>
BenefrancisdoNascimento 242
SISTEMAWEB
</tr>
</table>
</td>
</tr>
<tr>
<tdcolspan="2"> </td>
</tr>
</table>
</form>
</td>
</tr>
<tr>
<tdclass="Txt"> </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
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"> </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"> </td>
</tr>
</table>
</td>
BenefrancisdoNascimento 250
SISTEMAWEB
</tr>
<tr>
<tdcolspan="2"> </td>
</tr>
<tr>
<tdclass="Txt"width="23%"> </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"> </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
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 <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());%>"> <inputtype="submit"name="btn_sim"
value="SIM"> </form></td>
<tdwidth="50%"align="left"height="150"><form
action="../consultas/servico.jsp"method="post"name="Formulario"> <input
type="submit"name="btn_sim"value="NO"> </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
Aprentoolayoutdapginaexcluir_servico.jsp.
Figure22excluir_servico.jsp
BenefrancisdoNascimento 260
SISTEMAWEB
Consideraes finais