Sunteți pe pagina 1din 4

19/04/12

Arquivo de Cdigos - AJAX - Desenvolvendo um sistema de pesquisa de alunos por matrcula usan
Pesquisar

Home | Consultoria | Exemplos e Cdigos-Fonte | Quem Sou | Fale Comigo

Linguagens
Adobe AIR ActionScript Adobe Flex AJAX Android ASP.NET C C++ C# (CSharp) Delphi HTML - Dynamic HTML Java Java Servlets JavaScript JSP - Java Server Pages Perl PHP PHP-GTK Python Ruby VB.NET

Voc est aqui: Inicio -> A rtigos e Tutoriais -> A JA X -> De se nvolve ndo um siste m a de pe squisa de alunos por m atrcula usando AJAX e JSP

Desenvolvendo um sistema de pesquisa de alunos por matrcula usando AJAX e JSP


1 - Desenvolvendo um sistema de pesquisa de alunos por matrcula usando AJAX e JSP (Usando o mtodo GET) Em artigos anteriores fizemos um estudo bem detalhado de AJAX e do objeto XMLHttpRequest. C hegou a hora de construir algo mais til. A aplicao que desenvolveremos permitir pesquisar um aluno baseado em seu nmero de matrcula. Alm disso, os dados sero obtidos a partir de uma chamada a uma pgina JSP e o mtodo usado para a requisio HTTP ser GET (Mais adiante veremos como usar POST). Os nomes e matrculas dos alunos sero armazenados em um objeto da classe Hashtable da linguagem Java. Esta classe permite associar valores a chaves, ou seja, ideal para o projeto proposto. Em outros artigos voc aprender a obter um arquivo XML a partir das informaes em um banco de dados. A listagem seguinte apresenta o cdigo completa para o documento JSP que ser usado no exemplo: Cdigo completo para pesquisar.jsp: <@pg ipr=jv.tl* % % ae mot"aaui." > < % / rcb amtuaasrpsusd / eee arcl e eqiaa Srn mt=rqetgtaaee(mtiua) tig a eus.ePrmtr"arcl"; Srn auo=nl; tig ln ul / Ci atbl Hs / ra aea ah Hstbetbl =nwHstbe) ahal aea e ahal(; / aiin o vlrsdsjds / dcoa s aoe eeao tbl.u(576-" "sa J Sla) aeapt"4914, Omr . iv"; tbl.u(554-" "yg Fradsd Sua) aeapt"4847, Deo enne e os"; tbl.u(781-" "rnic Ceh Ct Fioa) aeapt"6223, Facso olo io ets"; / Vreatbl pouad amtuafreia / ar aea rcrno arcl oncd Ieao i =tbl.eSt)ieao(; trtr t aeakye(.trtr) wiei.aNx() hl(thset){ Ojc ky=i.et) bet e tnx(; Srn cae=(tig(e) tig hv Srn)ky; i(hv.qasmt) fcaeeul(a){ auo=(tig(aeagtky) ln Srn)tbl.e(e); } } / cnt oXLeoevacm rsot / osri M ni oo epsa SrnBfe xl=nwSrnBfe(; tigufr m e tigufr) xlapn(<xlvrin\10"?"; m.ped"?m eso=".\ >) xlapn(<lns"; m.ped"auo>) i(ln ! nl) fauo = ul{ xlapn(<ln> +auo+"/ln>) m.ped"auo" ln <auo"; } es{ le xlapn(<esgmer<mnae>) m.ped"mnae>ro/esgm"; } xlapn(<auo>) m.ped"/lns"; rsos.eCnetye"etxl) epnestotnTp(tx/m"; rsos.eHae(CceCnrl,"occe) epnestedr"ah-oto" n-ah"; rsos.eWie(.rt(m.otig); epnegtrtr)wiexltSrn() % > A anlise linha a linha deste cdigo est alm do escopo do artigo. Os pontos importantes a serem considerados so: A pgina JSP dever ser chamada com o parmetro matricula contendo o valor da matrcula a ser pesquisada. Por exemplo, desejando pesquisar a matrcula 547961-4, a chamada correta dever ser: ht:/oahs:00psusrjpmtiua576tp/lclot88/eqia.s?arcl=4914 Se o aluno for encontrado, a pgina devolver um arquivo XML com o seguinte contedo: <xlvrin"."ecdn=io85-"? ?m eso=10 noig"s-891 > <lns auo> <ln>sa J Sla/ln> auoOmr . iv<auo <auo> /lns Se o aluno no for encontrado o resultado ser: <xlvrin"."ecdn=io85-"? ?m eso=10 noig"s-891 > <lns auo> <esgmer<mnae> mnae>ro/esgm <auo> /lns

Frameworks
CodeIgniter Facelets GTK+ Hibernate jQuery jQuery UI JSF - Java Server Faces Qt Ruby On Rails Smarty Struts 2 wxWidgets Zend Framework

Referncias Tipos de dados da linguagem Java Palavras-chave e palavras reservadas da linguagem Java Tipos de dados da linguagem PHP

Bancos de Dados
Firebird/InterBase MS SQL Server MySQL PostgreSQL

Ferramentas
Avaliador de Expresses Regulares em JavaScript Tabela Cores HTML I Tabela Cores HTML II 34 Usurios Online

arquivodecodigos.net/principal/diretorios/ajax//pesquisa_matricula_usando_ajax_jsp.php

A pgina HTML que servir para fazer a consulta dos alunos se parecer com a figura seguinte:

1/4

19/04/12

Arquivo de Cdigos - AJAX - Desenvolvendo um sistema de pesquisa de alunos por matrcula usan
A pgina HTML que servir para fazer a consulta dos alunos se parecer com a figura seguinte:

O formulrio a ser usado foi construdo com o seguinte cdigo HTML: <al wdh"8"bre=0 clsaig""clpdig"" tbe it=27 odr"" elpcn=0 eladn=4> <omnm=cdsr"ato=jvsrp:od20 fr ae"aato cin"aacitvi%0" osbi=psusr)> numt"eqia(" <r t> <dwdh"2>arcl:/d t it=7"Mtua<t> <dwdh"9"<nu nm=mtiua tp=tx" t it=19>ipt ae"arcl" ye"et i=mtiua>/d d"arcl"<t> <t> /r <r t> <dNm:/d t>oe<t> <d<nu nm=nm"tp=tx"raol i=nm" t>ipt ae"oe ye"et edny d"oe sz=4"<t> ie"0>/d <t> /r <r t> <d&bp<t> t>ns;/d <d<nu tp=sbi"nm=Sbi"vle"eqia!>/d t>ipt ye"umt ae"umt au=Psusr"<t> <t> /r <fr> /om <tbe /al> Este formulrio possui um detalhe que o diferencia daqueles usados em aplicaes web convencionais: o valor informado para a propriedade action: ato=jvsrp:od20 cin"aacitvi%0" C omo a pgina no ser atualizada, preciso um mecanismo que permita simular o envio do formulrio, mas sem realmente faze-lo na verdade. A forma mais usual fornecer um URL JavaScript que no retorna nada: javascript:void 0 e, como o espao entre URLs deve ser informado como %20, o resultado este valor estranho primeira vista. A conexo com o servidor feita quando o formulrio submetido (o que apenas uma simulao, j que a aplicao continua na mesma pgina) atravs de uma funo delegada ao seu evento onsubmit: osbi=psusr) numt"eqia(" O cdigo completo para a pgina HTML est disponvel nas linhas seguintes: Cdigo completo para alunos.htm <tl hm> <ed ha> <il>aatod Auo<tte tteCdsr e lns/il> <tl tp=tx/s" sye ye"etcs> bd,t {ot 7%Vraa oy d fn: 0 edn} <sye /tl> <ha> /ed <oy bd> <togCdsr d Auo<srn>b> srn>aato e lns/tog<r <r b> <al wdh"8"bre=0 clsaig""clpdig"" tbe it=27 odr"" elpcn=0 eladn=4> <omnm=cdsr"ato=jvsrp:od20 fr ae"aato cin"aacitvi%0" osbi=psusr)> numt"eqia(" <r t> <dwdh"2>arcl:/d t it=7"Mtua<t> <dwdh"9"<nu nm=mtiua tp=tx" t it=19>ipt ae"arcl" ye"et i=mtiua>/d d"arcl"<t> <t> /r <r t> <dNm:/d t>oe<t> <d<nu nm=nm"tp=tx"raol i=nm" t>ipt ae"oe ye"et edny d"oe sz=4"<t> ie"0>/d <t> /r <r t> <d&bp<t> t>ns;/d <d<nu tp=sbi"nm=Sbi"vle"eqia!>/d t>ipt ye"umt ae"umt au=Psusr"<t> <t> /r <fr> /om <tbe /al> <r b> <pni=sau"Sau:Pot<sa>b> sa d"tts>tts rno/pn<r <cittp=tx/aacit> srp ye"etjvsrp" vrht; a tp

arquivodecodigos.net/principal/diretorios/ajax//pesquisa_matricula_usando_ajax_jsp.php

2/4

19/04/12

Arquivo de Cdigos - AJAX - Desenvolvendo um sistema de pesquisa de alunos por matrcula usan
vrht; a tp fnto psusr) ucin eqia({ ht =otrbRqiia(; tp beOjeusco) i(tp{ fht) vrmt=dcmn.aatomtiuavle a a ouetcdsr.arcl.au; vrul="tp/lclot88/ a r ht:/oahs:00 psusrjpmtiua"+ecp(a) eqia.s?arcl= saemt; ht.nedsaehne=poesr tporayttcag rcsa; ht.pn"E" ul tu) tpoe(GT, r, re; ht.ednl) tpsn(ul; } rtr fle eun as; } fnto poesr) ucin rcsa({ vrdcM; a oXL i(tpraytt = 4{ fht.edSae = ) i(tpsau = 20{ fht.tts = 0) dcM =ht.epneM; oXL tprsosXL aaiaDdsdcM) nlsrao(oXL; } es{ le wno.lr(Er.Nofipse raia aoea'; idwaet'ro o osvl elzr pro) } } } fnto otrbRqiia({ ucin beOjeusco) i(idwXLtpeus) fwno.MHtRqet{ rtr nwXLtpeus(; eun e MHtRqet) } es i(idwAtvXbet{ le fwno.cieOjc) rtr nwAtvXbet"irsf.MHT"; eun e cieOjc(McootXLTP) } rtr nl; eun ul } fnto aaiaDdsxl{ ucin nlsrao(m) vrtttts=dcmn.eEeetyd"tts) a xSau ouetgtlmnBI(sau"; vrcn =xlgtlmnsyaNm(auo) a ot m.eEeetBTgae'ln'; i(otlnt >0{/ ecnruoauo fcn.egh ) / noto ln ttttsinrTL="tts Auo xSau.neHM Sau: ln ecnrd cmscso" notao o ues!; vrnm_ln =cn[]cidoe[]ndVle a oeauo ot0.hlNds0.oeau; dcmn.aatonm.au =nm_ln; ouetcdsr.oevle oeauo } es{/ noecnru le / noto ttttsinrTL="tts Auonoecnrd.; xSau.neHM Sau: ln notao" dcmn.aatomtiuavle="; ouetcdsr.arcl.au " dcmn.aatonm.au ="; ouetcdsr.oevle " dcmn.aatomtiuafcs) ouetcdsr.arcl.ou(; } } /-> /<srp> /cit <bd> /oy <hm> /tl 2 - Usando POST C om o objetivo de demonstrar como o objeto XMLHttpRequest efetua de forma diferenciada as requisies GET e POST, decidiu-se implementar uma nova verso da aplicao prtica demonstrada neste artigo, desta vez usando o mtodo POST. As diferenas entre as duas aplicaes ocorrero somente no trecho de cdigo que efetua a requisio ao servidor. A verso com POST deve se basear no modelo a seguir: i(tp{ fht) vrmt=dcmn.aatomtiuavle a a ouetcdsr.arcl.au; vrul="tp/lclot88/suo/eqia.s" a r ht:/oahs:00etdspsusrjp; ht.nedsaehne=poesr tporayttcag rcsa; ht.pn"OT,ul tu) tpoe(PS" r, re; ht.eRqetedr"otn-ye," tpsteusHae(CnetTp" apiainxwwfr-recdd castUF8) plcto/-w-omulnoe; hre=T-"; ht.ed"arcl= +ecp(a); tpsn(mtiua" saemt) } As diferenas podem ser resumidas da seguinte forma: 1) No h mais os parmetros no endereo da pgina que sofrer a requisio; 2) O mtodo de envio definido como POST: ht.pn"OT,ul tu) tpoe(PS" r, re; 3) O cabealho C ontent-Type da requisio agora definido como sendo dados de um formulrio: ht.eRqetedr"otn-ye," tpsteusHae(CnetTp" apiainxwwfr-recdd castUF8) plcto/-w-omulnoe; hre=T-"; 4) Os parmetros da requisio so enviados no mtodo send(): ht.ed"arcl= +ecp(a); tpsn(mtiua" saemt)

Meu Amigo Pet Todos Produtos C/ 15% De Desconto. Em At


arquivodecodigos.net/principal/diretorios/ajax//pesquisa_matricula_usando_ajax_jsp.php

Voc precisa de um freelancer, cdigos-fonte e exemplos completos?

3/4

19/04/12

Arquivo de Cdigos - AJAX - Desenvolvendo um sistema de pesquisa de alunos por matrcula usan

6x S/ Juros E Frete Grtis!


www.euAmigoPet. b r M com.

Moda no BrandsClub Chanel, Daslu, DKNY e muito mais com at 90% de desconto. Confira:
www. b randsclub. b r com.

Ensino Superior SENAI Formao focada em tecnologia com inscries abertas. Acesse!
www. senai. faculdades sp. b r/

exemplos completos? Be m -vindo(a) ao m e u site . Al m de re alizar alguns se rvios com o fre e lance r e u te nho alguns cdigos-fonte e e x e m plos com ple tos de Java, De lphi, PHP, Python, C /C ++, Hibe rnate , JPA, Spring, JSP, Se rvle ts, R uby, R uby O n R ails e m uitas outras linguage ns e fram e work s. Ve ja com o falar com igo clicando aqui. Apre nda ou aprim ore sua program ao e m Java Q ue r apre nde r Java? C om e ce instalando, te stando o SDK e e scre ve ndo o se u prim e iro program a Java Apre nda a m anipular base s de dados MySQ L usando Java

Celular Desbloqueado 3 chips, TV, MP3, Cmera e mais S Hoje Por R$ 79,00 + Frete Grtis
www. o fertaovip. b r com.

Mais anncios

No encontrou o que estava procurando? Experimente nossa busca Termo(s) da busca:

Pesquisar

Dicas e truques de Java


A instruo switch do Java C riando uma ArrayList genrica de inteiros C omo adicionar ou subtrair minutos de uma data e hora usando o mtodo add() da classe C alendar C riando seu primeiro aplicativo de interface grfica em Java Entendendo a classe ArrayList ou ArrayList<E> As instrues if e if...else do Java Aprenda a usar o lao do-while do Java C omo comparar strings em Java usando o mtodo equals Aprenda a usar expresses regulares em Java C riando e inicializando um array de strings Aprenda a ler entrada do usurio usando a classe Scanner C alculando a rea de um crculo Lendo de um arquivo usando BufferedReader e FileReader C omo declarar, construir e inicializar um array de inteiros C riando uma tela de login usando GridBagLayout C digo completo para um programa de desenho usando eventos do mouse Aprenda a tratar erros em Java usando o bloco try...catch Entendendo o conceito de encapsulamento (encapsulation) em Java C oncatenar strings em Java Efetuando clculos de porcentagem em Java

Dicas e truques de C++


C alculando a raiz quadrada de um nmero O aplicativo de interface grfica mais simples em C ++ Programao orientada a objetos em C ++: C lasses, objetos, mtodos e variveis de instncia C omo calcular o MDC (Mximo Divisor C omum) em C ++ Efetuando clculos de porcentagem em C ++ C riando sua primeira aplicao de interface grfica usando C ++ e WinAPI O operador condicional (operador ternrio) Removendo parte de uma string usando o mtodo erase Entendendo o lao do..while da linguagem C ++ C omparando strings usando o mtodo compare da classe string Aprenda a usar arrays (matrizes) em C ++ Obtendo o tamanho de uma string usando length Aprendendo a usar o lao for em C ++ C riando uma classe C ++ completa, incluindo os arquivos de definio .h e implementao .cpp Usando o lao while da linguagem C ++ C omo quebrar (separar) uma string usando pontoe-vrgula como delimitador C omo obter o arco cosseno de um nmero Usando o tipo de dados long ou long int C alculando juros simples e montante usando C ++ Entenda o tipo size_t

Dicas e truques de Delphi


Aprenda a usar arrays (matrizes ou vetores) em Delphi C omo usar a funo FormatFloat() para formatar valores de ponto-flutuante em Delphi Formatando datas e horas em Delphi usando a funo FormatDateTime() C omo obter uma substring de uma string C omo escrever em um arquivo texto usando Delphi C omo copiar um arquivo em Delphi usando a funo C opyFile() da API do Windows Quer usar o banco de dados MySQL com Delphi? C omece lendo esta dica Trabalhando com strings em Delphi Invertendo o contedo de uma string Gerando um nmero aleatrio de 0 a 10 usando Delphi Efetuando clculos de porcentagem em Delphi Lendo todo o contedo de um arquivo texto usando Delphi C riando uma data e hora em Delphi usando a funo EncodeDateTime() C omo converter uma string em um valor numrico inteiro C omo excluir (remover, deletar) um arquivo usando Delphi Obtendo o caractere a partir de um determinado cdigo ASC II C omo verificar se uma substring est contida em uma string C omo adicionar (append) mais contedo a um arquivo texto j existente Obtendo o tamanho de um arquivo em bytes, KB, MB ou GB Usando o lao while do Delphi

http://www.arquivodecodigos.net 2000 - 2010 - Todos os direitos reservados a Osmar J. Silva Todo o contedo deste site, quando no devidamente observado, pertence a seus idealizadores e no poder ser usado para outras finalidades seno estudo e aprimoramento de tcnicas de programao. Posso copiar o contedo do site e colocar em meu site ou blog? Pode sim, desde que voc coloque um link e referncia ao meu site. C aso no faa isso meu advogado far todo o possvel para deixar sua conta bancria com algumas centenas de Reais a menos. Fale Conosco: (62) 3261-7018 / (62) 8185-0734 E-Mail: suporte@recomende.com MSN: osmar@recomende.com (s para negcios, por favor) Perfil no LinkedIn: http://br.linkedin.com/pub/osmar-j-silva-silva/8/94a/630 Para me contratar como freelancer ligue: (062) 3261-7018 / (62) 8185-0734 Desenvolvedor Responsvel: Osmar J. Silva

arquivodecodigos.net/principal/diretorios/ajax//pesquisa_matricula_usando_ajax_jsp.php

4/4

S-ar putea să vă placă și