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

8/19/2015

IntroduoaoJavaServerPagesJSP

Buscar

comentrios

favorito (12)

marcar como lido

para impresso

anotar

Introduo ao Java Server Pages


- JSP
Veja neste artigo uma apresentao dos fundamentos
do JSP, Java ServerPages que, integrado ao HTML,
permite dar mais dinamismo pginas web.

17

Gostei(19)

(0)

ComaevoluodaInternet,surgiramnovasnecessidades.Negciospassarama
existirdeformaonline,meiosdecomunicao,fazemusoconstantedestapoderosa
ferramentaqueaInternet.Mascomoestatecnologiachegouaesteponto?
NoinicioaInterneteraesttica,afaltadeinteratividadeimperava,foiquandosurgiuo

http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

1/25

8/19/2015

IntroduoaoJavaServerPagesJSP

CGI,atecnologiaCGIcriavainteratividadeaoambiente,masnotornavasimpleso
seudesenvolvimento.EntreastecnologiasdeCGImaisutilizadas,destacaseoPERL,
linguagempoderosa,utilizadaathojeparaadministraodeservidores.Ogrande
problemadesedesenvolverumCGI,almdodesempenho,eraasuacomplexidade,a
soluoparasimplificarodesenvolvimentoWEBepassarparaumanovafase,
surgiramaslinguagensserversidescriptscomoASP,PHPeJSP.Estaslinguagens
tornaramodesenvolvimentowebmaisgil,simpleseprtico.Almdepossuirum
maiordesempenhodeaplicao,emummeioqueavelocidadeessencial,isto
garantiuosucessodasnovaslinguagensdescripts.
LOGIN
DEVMEDIA
EsteartigoapresentaosconceitosbsicosdeJSP,bemcomoautilizaoda

linguagemparaaprogramaowebdinmica,todoodesenvolvimentofeitoneste
artigofoitestadoutilizandooServidorTomcat.

Introduo ao JSP
JSPoacrnimoparaJavaServerPages,umalinguagemcriadapelaSUNgratuita,
JSPumalinguagemdescriptcomespecificaoabertaquetemcomoobjetivo
primrioageraodecontedodinmicoparapginasdaInternet.Podemosaoinvs
deutilizarHTMLparadesenvolverpginasWebestticasesemfuncionalidade,utilizar
oJSPparacriardinamismo.possvelescreverHTMLcomcdigosJSPembutidos.
ComooHTMLumalinguagemesttica,oJSPseroresponsvelporcriar
dinamismo.Porsergratuitaepossuirespecificaoabertapossuidiversosservidores
quesuportamalinguagem,entreelestemos:Tomcat,GlassFish,JBoos,entreoutros.
OJSPnecessitadeservidorparafuncionarporserumalinguagemServersidescript,
ousurionoconsegueveracodificaoJSP,poisestaconvertidadiretamentepelo
servidor,sendoapresentadoaousurioapenascodificaoHTML.
UmapaginaJSPpossuiextenso.jspeconsisteemumapginacomcodificao
http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

2/25

8/19/2015

IntroduoaoJavaServerPagesJSP

HTMLecomcodificaoJava,inseridaentreastags,denominadascriptletse
funcionandodaseguinteforma:oservidorrecebeumarequisioparaumapgina
JSP,interpretaestapginagerandoacodificaoHTMLeretornaaoclienteo
resultadodesuasolicitao.ApginaJSPquefoiinterpretadapeloservidorno
precisasercompiladacomoaconteceriacomumservletjavaporexemplo,estatarefa
realizadaemtemporealpeloservidor.necessrioapenasdesenvolveraspginas
JSPedisponibilizlasnoServletContainer(Tomcat,porexemplo).Otrabalhorestante
serrealizadopeloservidorquefazacompilaoemtempodeusotransformandoo
jspembytecode.
Assim,podesedefiniroJSPcomoumatecnologiaqueprovumamaneirasimplese
prticadedesenvolveraplicaesdinmicasbaseadasemweb,sendoindependente
dePlataformadeSistemaOperacional.

Tecnologia Client-side e Server-side


AinternetfoiconcebidadeformaafuncionarcomoclienteXservidor,ouseja,temos
umclientequeonavegadorweb(browser)eoservidorhttp(web).Existem,na
tecnologiadisponvelparaWeb,duasclassificaesdetecnologia,umaquefunciona
doladodoclienteouClientsideeumaquefuncionadoladodoservidorouServer
side.

Client-side lado do cliente


Oclientesidedeumaaplicaoolocalondeelaprocessada,ouseja,nocasoda
web,executanonavegadordoclientequeoresponsvelporinteragircomoServidor
HTTP.EntreastecnologiasclientesidetemosoHTMLqueexecutadononavegador,
oCSSoutratecnologiaclientequeserveparaformatarpaginasHTML,haindao
http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

3/25

8/19/2015

IntroduoaoJavaServerPagesJSP

javascriptquepermitedesenvolverouampliaropoderaoladodocliente.

Server-side
Serverside,porsuavez,otermoquerepresentaoconjuntodetecnologiasemque
osprocessossointerpretados/processadosdiretamentenoservidor,retornandocomo
resultadoacodificaoclientside.Quandoumclienteweb(navegador)acessauma
pginaweb,umasolicitaoenviadaaoservidoratravsdoprotocolohttpparaqueo
servidorenviearesposta.OServidoralmderodarosaplicativos,oladoservidor
tambmumrepositriodepginasestticas,queseroenviadosaoclientequando
solicitado.SupondoquehajaumapginaJSP,estaserprocessadapeloservidore
encaminhadoumarespostaaocliente(Navegador).

Benefcios do JSP
OobjetivodalinguagemJSPnosodesenvolvimentodepginasdinmicaspara
Internet.ComelapossveldesenvolversistemasinteirosparaInternet.Almdisso,
existemdiversosbenefciosemseutilizaralinguagemJSP.

Custo
OJSPnotemcustodelicena.Istosignificaquepodeserutilizadoemqualquer
mquina,paraqualquernumerodeusuriossemviolarnenhumdireitoautoral.Claro
queistodependedoservidorescolhido,oTomcatumservidorlivre,licenciadosoba
licenadaApacheFoundation,dealtaqualidadeesemcustodelicenciamento.

JSP embutido no HTML


http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

4/25

8/19/2015

IntroduoaoJavaServerPagesJSP

OJSPsimplesdeseutilizar,podendogeraroHTMLouaindaestarembutidodentro
doHTML,comonoexemploaseguir:
Listagem1:ExemplodecdigoJSPembutidonoHTML

<html>
<head>
<title>PaginaJSPOlaMundo</title>
</head>
<body>
<h1>
<%
out.println("OlaMundo");
%>
</h1>
</body>
</html>

Outras vantagens da linguagem


AlemdocustoedaintegraoperfeitacomoHTML,possvelainda,citaros
seguintesbenefciosdalinguagem:
AperfeioamentoderecursosutilizandoJavaemServlets
Manipulaodearquivoscomotexto,PDF,DOCetc
Criptografiadedados
Utilizaodecookiesesesses
ManipulaodearquivosXML
Suporteadiversosbancosdedadoscomo:MySQL,SQLServer,Oracle,Informix
etc
SuporteasistemasderelatrioscomooJasperReportentreoutros.

Tomcat
http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

5/25

8/19/2015

IntroduoaoJavaServerPagesJSP

OJSPporserumalinguagemServerSidecomovistoanteriormente,necessitadeum
servidorparaoseufuncionamento.
OApacheTomcatfoidesenvolvidopelaApacheSoftwareFoundation,oTomcatum
servletcontainerdecdigoaberto,ouseja,umaaplicaoqueinterpretaeprocessa
servlets(javaservlets)eJSP(JavaServerPages).Oservidorestadisponvel
livrementenaInternetsemanecessidadedepagamentodelicenciamentoeest
disponvelnoendereohttp://tomcat.apache.orgparadiversasplataformas,entreelas
oWindows,Linux,Solarisetc.Recomendaseodownloaddaverso7doservidor.A
instalaosimples,bastaseguiroseupassoapasso.Odesenvolvedordevefazera
instalaocompletadoservidorparaseusistemaoperacional.
ComoTomcatinstaladopodeseiniciarodesenvolvimentoJSP.Parainiciaro
desenvolvimentodevesecriarumdiretrioeasyjavaemC:\ProgramFiles
(x86)\ApacheSoftwareFoundation\Tomcat7.0\webapps(noWindows)e
/usr/java/apachetomcat7.0(noLinux).Nodiretrioeasyjavadevesecriaros
diretriossrc,web,WEBINFeWEBINF/lib.
src=diretrioondeficaarmazenadoocdigofontedosservlets
web=diretrioraizdaaplicaoweb
WEBINF=diretrioquearmazenaodescritordaaplicaoweb(web.xml),bem
comooutrosarquivosdeconfigurao.Estediretrioinvisvelaousurio
WEBINF/lib=bibliotecasnecessriasparaaaplicao.
Utilizaremos,inicialmente,apenasojsp,masemartigosfuturoscriaremosservletspara
ampliaracapacidadedenossaaplicaoweb,porissocriamosaestruturacompleta
dediretriosTomcat.

Desenvolvimento JSP na pratica


http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

6/25

8/19/2015

IntroduoaoJavaServerPagesJSP

ParainiciarotrabalhocomJSP,criaremosoprimeiroarquivodeexemplo,doArtigo
JSP.Paramanteropadro,criaremosumarquivohelloword/olamundo.
Nodiretrio(pasta)easyjava,comseueditorfavoritonotepad,vi,emacsetc.,o
desenvolverdevecriaroarquivoola.jspcomoseguintecontedo:
Listagem2:ProgramaOlMundo.

<html>
<head>
<title>PaginaJSPOlaMundo</title>
</head>
<body>
<h1>
<%
out.println("OlaMundo");
%>
</h1>
</body>
</html>

Salveoarquivoeabraonavegadordesuapreferenciaedigite:
http://127.0.0.1:8080/easyjava/ola.jsp,conformeaFigura1.

http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

7/25

8/19/2015

IntroduoaoJavaServerPagesJSP

Figura1:Resultadodaexibiodocdigoalomundo
OresultadoaexibiodeumapginacomotextoOlaMundo.Nocdigodapagina
serexibidoapenasHTMLenoJSP.Paraoteste,cliquecomobotodireitonatelae
mandeexibirocdigofontecomonalistagem2.
Listagem3:ProgramaOlMundo.

<html>
<head>
<title>PaginaJSPOlaMundo</title>
</head>
<body>
<h1>
OlaMundo
</h1>
</body>
</html>

Vamosentenderoquefoifeitonalistagem1,todoscriptjspestaentreastags,alinha
out.println("OlaMundo")responsvelporescreverotextoqueestaentreaspas,
sendoconvertidoparaaexibioemHTMLdeOlaMundo,istoporqueocomando
out.printlnresponsvelporescrevernatela,ouseja,escreveemHTMLumcontedo,
enestecasoOlaMundo.Contedosdetextodevemestarentreaspas,comovistono
exemplo.ObservequeaexibionoclientenohnenhumcdigoJSP,poisfoi
processadonoservidor,outropontoimportantequeoJSPsegueopadrodoJava,
ouseja,aofinaldecadalinhatemosum().
Prosseguimos,agora,paraosestudosdoJSP.Inicialmente,abordaremososeu
funcionamento.OJSP,assimcomooPHP,podeserutilizadodentrodoHTML,a
pginaJSP,naverdade,umapaginaHTML,masquandofornecessrioutilizar
codificaoJSPquedeveestarentreastags,oservidortratadeconverterpara
http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

8/25

8/19/2015

IntroduoaoJavaServerPagesJSP

HTMLpararesponderasolicitaodousurio.
NacodificaoJSP,tmsealgumasdiretivas,asquaissoutilizadaspara
informaesespeciaisdentrodepaginas,sendodivididoemtrstipos:
@include:utilizadoparainseriroscdigosdearquivospginacorrente
@page:responsvelportrazerinformaessobreapginaJSP
@taglib:responsvelporhabilitarumabibliotecadetagspersonalizada(itemque
serabordadoemoutroartigocommaisdetalhes).
Agora,vamosincrementarumpoucomaisnossaaplicaoolamundo,exibindoadata
atual.
Listagem4:ProgramaOlaMundomelhorado

<%@pagecontentType="text/html"import="java.util.Date,java.text.*"pageEncoding="ISO8859
<html>
<head>
<title>PaginaJSPOlaMundo</title>
</head>
<body>
<h1>
<%
out.println("OlaMundo");
%>
<br>
<%=newDate()%>
</h1>
</body>
</html>

Aoabrirnonavegadororesultadoseraexibiodoolamundoedadataehoraatual,
conformeaFigura2.

http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

9/25

8/19/2015

IntroduoaoJavaServerPagesJSP

Figura2:Resultadodacodificaoalistagem4
Emconjuntocomadiretiva@page,temososatributoslistadosnatabela1.

Atributos

Descrio
DefinealinguagemdescriptqueserutilizadonoJSP.Anicalinguagemsuportada

Language
JAVA.
DefineonomedaclassequeessapginaJSPdeveherdar.Geralmenteesseatributo
Extends
noinformado,sendodeixadoacargodoServletContainersepreocuparcomisso.
Import

PermiteapginaJSpimportarpacoteseclassesqueseroutilizadospelapgina.

Session

Defineseapaginafarusodesesso,ovalorpadrotrue.
DefineotamanhodobufferdapginaemKB,casonosejadefinidoasadanoser

Buffer
buferizada.

autoFlush

Esteatributo,sedefinidocomotrue,fazcomqueobufferdapginaJSPsejafinalizado
casoatinjaolimite.

http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

10/25

8/19/2015

IntroduoaoJavaServerPagesJSP

isThereadSafe Seoatributofordefinidocomotrue,apaginanoimplementaainterface
SingleThreadeModel.Ovalorpadrotrue.
Info

RetornaoresultadodomtodogetServletInfo().

errorPage

Defineocaminhorelativoaumapginadeerro,casoocorraumaexceo.

contentType

Informaotipodesadadodocumento.Ovalordefaulttext/html.

isErrorPage

Informaseapginaumapginadeerro.

pageEncoding Defineocaracterencondingdapgina.

Tabela1:Atributosdadiretiva@page.
Vejaquenoexemploanterior,foicriadoalinha:,indicandoqueserimportadoas
bibliotecasjava.util.Dateejava.text.*,almdissofoidefinidoopageEncodingcomo
ISO88591.
Noexemploanteriorutilizamosaexibiocompletadadatautilizando.O
desenvolvedordeveevitarousodoout.println,utilizandodiretamenteo=newDate().O
newDatefezumachamadadiretaclasseDate,disponvelemjava.util.Date.Este
motivodaimportao.Paradarandamentoaplicaoaperfeioaremosacodificao
conformealistagem3.
Listagem5:ProgramaOlaMundomelhorado

<%@pagecontentType="text/html"import="java.util.*,java.text.*"pageEncoding="ISO88591"%
<html>
<head>
<metahttpequiv="ContentType"content="text/html;charset=ISO88591">
<title>JSPPage</title>
</head>
<body>
<h1>HelloWorld!</h1>
<%
intdia=Integer.parseInt((newSimpleDateFormat("dd")).format(newDate()));
http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

11/25

8/19/2015

IntroduoaoJavaServerPagesJSP

out.println("<br>Hojedia"+dia);
%>
</body>
</html>

OresultadoserexibidoconformaaFigura3.

Figura3:Resultadodaexecuodalistagem3
Destavezfoideclaradoumavariveldotipointparaarmazenaradata.Adeclarao
devariveisnoJSPidnticaaojava:tmseotipo,onomeeosdadosquesero
armazenados.Oescopodeumavariveldestetipooarquivoemquefoideclarado,
ouseja,osoutrosarquivosnotminformaessobreavariveldeclaradaaqui.Os
tiposdedadossuportadospeloJSPso:
boolean=true/false
byte=128a127
char=caracteres
double=1.89869313486232E308a4.94065645841247E
http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

12/25

8/19/2015

IntroduoaoJavaServerPagesJSP

324/1.89869313486232E308a4.94065645841247E324
int=2.147.483.648a2.147.483.647
long=9.223.372.036.854.775.808a9..223.372.036.854.775.807
shot=32.768a32.767
String=textos
ParatrabalharcomotipoStringquearmazenatextosnecessrioincluira
java.lang.String.
TambmfizemosusodeconversodetipoInteger.parseInt,paraconverterotipo
string,vindadoobjetodataparaInteiro.Destaformapodesearmazenarodiaemuma
varivelcomotipointeiro(int).
Outrasconverses:
Byte.parseByte(objetoString)=converteumastringparaotipobyte
Short.parteShort(objetoString)=converteumastringparaotiposhort
Float.parteFloat(objetoString)=converteumastringparaotipofloat
Double.parseDouble(objetoString)converteumastringparaotipodouble.
Utilizamosanteriormenteasadaout.println,esteumtipodeobjetoimplcito.Esses
objetosrecebemonomedeimplcitopornonecessitarsereminstanciadosparaasua
utilizao.Elespodemseracessadosdiretamentenapgina.Osobjetosimplcitosque
podemseracessadosempginasJSPso:

Objetos

Descrio
MtododotipoWritter,utilizadoparaexibirdadosnapgina.(exemplo:out.println(Ola

Out
Mundo)
Objetopermiteacessoaparmetrosenviadospelocliente,pelomtodoHTTP(GETou
Request
POST).
http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

13/25

8/19/2015

IntroduoaoJavaServerPagesJSP

Response

Permiteacessorespostaqueserenviadaaousurio.

Session

Acessoasesses.
ObjetoquereferenciaaclasseServletContextepermitequesejamarmazenadosvalores,

application

aoquaisserocompartilhadosportodaaplicao,pormeiodosmtodossetAttributee
getAttribute.

Config

Objetoutilizadoparaaleituradeparmetrosdeinicializao.

exception

PermitequeaspginasJSPsejamdefinidascomopginasdeerros.

pageContext Objetoqueumpontodeacessoamuitosatributosdapgina.
Page

Semelhantearefernciathisutilizadaemclassesjava.

Operadores:
Osoperadoressoutilizadospararealizaraessobreumoumaisvalores.Os
operadoressoclassificadosemgruposnoJSPassimcomoemquasetodasas
linguagensdeprogramao.Osoperadorestmprefernciadevidoaprioridadecomo
acontecenamatemtica.
Operadoresdecomparao:
==igualdade
!=noigualoudiferente
>maior

>=maiorouigual

http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

14/25

8/19/2015

IntroduoaoJavaServerPagesJSP

Concatenadores
&&representaoandoue
||representaoorouou
^representaoorexclusivo
Operadoresaritmticos
+soma
subtrais
/divide
*multiplica
%resto
OperadoresdeIncrementoedecremento
++incrementavalor
decrementavalor

Estrutura de programao:
Condicionalif
Oif(se)responsvelpelatomadadedecisodentrodacodificaojsp,possuindoo
seguinteformato:
If(condio){
Codificaoseverdadeiro
}else{
Condificaosefalso
}

http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

15/25

8/19/2015

IntroduoaoJavaServerPagesJSP

Podendoaindasercomplementadodacomoutrosifs,daseguinteforma:
If(condio){
Codificaoseverdadeiro

}elseif(condio){
Condificaoseasegundacondioforverdadeira
}else{
Codificaoseasegundacondioforfalsa
}
Vamoscriarumexemploutilizandooquejsabemos,complementandoaindamais
nossoOlaMundo.
Listagem6:ProgramaOlaMundocondicionalif

<%@pagecontentType="text/html"import="java.util.*,java.text.*"pageEncoding="ISO88591"%
<html>
<head>
<metahttpequiv="ContentType"content="text/html;charset=ISO88591">
<title>JSPPage</title>
</head>
<body>
<%
out.println("<h1>HelloWorld!</h1>");
intdia=Integer.parseInt((newSimpleDateFormat("dd")).format(newDate()));
intmes=Integer.parseInt((newSimpleDateFormat("M")).format(newDate()));
intano=Integer.parseInt((newSimpleDateFormat("yyyy")).format(newDate()));
if(mes==1){
out.println("Hoje"+dia+"deJaneirode"+ano);
}elseif(mes==02){
out.println("Hoje"+dia+"deFevereirode"+ano);
}elseif(mes==3){
out.println("Hoje"+dia+"deMarode"+ano);
}elseif(mes==4){
out.println("Hoje"+dia+"deAbrilde"+ano);
}elseif(mes==5){
out.println("Hoje"+dia+"deMaiode"+ano);
http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

16/25

8/19/2015

IntroduoaoJavaServerPagesJSP

}elseif(mes==6){
out.println("Hoje"+dia+"deJunhode"+ano);
}elseif(mes==7){
out.println("Hoje"+dia+"deJulhode"+ano);
}elseif(mes==8){
out.println("Hoje"+dia+"deAgostode"+ano);
}elseif(mes==9){
out.println("Hoje"+dia+"deSetembrode"+ano);
}elseif(mes==10){
out.println("Hoje"+dia+"deOutubrode"+ano);
}elseif(mes==11){
out.println("Hoje"+dia+"deNovembrode"+ano);
}elseif(mes==12){
out.println("Hoje"+dia+"deDezembrode"+ano);
}
%>
</body>
</html>

Almdacondioif,tmseacondioswitch,aqualsemelhanteaoif,pormpara
cadacomparaodeveexistirumainstruobreak.
switch(atributo/varivel){
casevalor:
instruo
break
casevalorn:
instruo
break
default:
instruoparavalorpadro
}
http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

17/25

8/19/2015

IntroduoaoJavaServerPagesJSP

Aseguir,apresentaseumexemplosemelhandoaodoif,pormutilizandooswitch.
Listagem7:ProgramaOlaMundocondicionalswitch

<%@pagecontentType="text/html"import="java.util.*,java.text.*"pageEncoding="ISO88591"%
<html>
<head>
<metahttpequiv="ContentType"content="text/html;charset=ISO88591">
<title>JSPPage</title>
</head>
<body>
<%
out.println("<h1>HelloWorld!</h1>");
intdia=Integer.parseInt((newSimpleDateFormat("dd")).format(newDate()));
intmes=Integer.parseInt((newSimpleDateFormat("M")).format(newDate()));
intano=Integer.parseInt((newSimpleDateFormat("yyyy")).format(newDate()));
switch(mes){
case1:
out.println("Hoje"+dia+"deJaneirode"+ano);
break;
case2:
out.println("Hoje"+dia+"deFevereirode"+ano);
break;
case3:
out.println("Hoje"+dia+"deMarode"+ano);
break;
default:
out.println("Ola");
}

%>
</body>
</html>

Existem,ainda,outrasinstruescomolaos/repeties,asquaisseroabordadasem
prximoartigo.Agora,paradarandamento,trataremossobreofuncionamentodas
funes.

http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

18/25

8/19/2015

IntroduoaoJavaServerPagesJSP

Afuno/mtodocontmcdigos,queseroexecutadosquandoafuno/mtodofor
chamado.
Acessotiponome(parmetro){
Cdigodafuno
}
Ostiposdeacessoserotratadosemnoprximoartigo.Iniciandoodesenvolvimento
deumapginaJSPcommaisrecursosedetalhes,utilizaseainclusodepginase
umformulriocomoexemplo.Adotandooquejfoiaprendido,vamoscriarumarquivo
topo,quearmazenarocontedoaserexibidonotopodonossosite.Estearquivoter
onometopo.jsp.
Listagem8:Programatopo.jsp

<%!
publicStringfncMES(intmes)
{
Stringretorno="";
switch(mes){
case1:retorno="Janeiro";break;
case2:retorno="Fevereiro";break;
case3:retorno="Maro";break;
case4:retorno="Abril";break;
case5:retorno="Maio";break;
case6:retorno="Junho";break;
case7:retorno="Julho";break;
case8:retorno="Agosto";break;
case9:retorno="Setembro";break;
case10:retorno="Outubro";break;
case11:retorno="Novembro";break;
case12:retorno="Dezembro";break;
}
returnretorno;
}
%>
<h1>PaginaJSP</h1>
<h4><%
intmes=Integer.parseInt(newSimpleDateFormat("M").format(newDate()));
http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

19/25

8/19/2015

IntroduoaoJavaServerPagesJSP

intdia=Integer.parseInt(newSimpleDateFormat("dd").format(newDate()));
intano=Integer.parseInt(newSimpleDateFormat("yyyy").format(newDate()));
out.println("Hojedia"+dia+"de"+fncMES(mes)+"de"+ano);
%></h4>

Otopo.jsputilizaoswitchemumafunochamadafncMES(FunoMs)paraexibiro
ms,comojfeitocomooifanteriormente.Agora,crieoarquivorodape.jsp.Estevai
terocontedodorodapdapgina.Nestapgina,insiraapenasoseguintetexto
PaginaEasyJava
.
Aseguir,criaremosoindex.jsp,quevaiunirosdoisarquivos.Criaremos,ainda,um
formulrioeenviarparaumapginaemquevamostratarosdadosrecebidos,
validandoos.
Listagem9:Programaindex.jsp

<%@pagecontentType="text/html"import="java.util.*,java.text.*"pageEncoding="ISO88591"%
<!DOCTYPEHTMLPUBLIC"//W3C//DTDHTML4.01Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttpequiv="ContentType"content="text/html;charset=ISO88591">
<title>JSPPage</title>
</head>
<body>
<%@includefile="topo.jsp"%>
<formaction="trataform.jsp"method="post">
Nome:<inputtype="text"name="txtnome"/><br>
EMail:<inputtype="text"name="txtemail"/><br>
DatadeNascimento:<inputtype="text"name="txtdtnasc"/><br>
<inputtype="submit"value="Enviar"/>

http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

20/25

8/19/2015

IntroduoaoJavaServerPagesJSP

</form>
<%@includefile="rodape.jsp"%>
</body>
</html>

Aquitemosautilizaodo@includeparaincluirosarquivosjspquecriamos.Tambm
criamosumformulrioparaenviardadosparaumapginaquevamosaindacriar.O
nomedapaginasertrataform.jsp.Paraisso,utilizamosomtododeenviodedados
post.
Listagem10:Programatrataform.js

<%@pagecontentType="text/html"import="java.util.*,java.text.*,java.lang.String"pageEnco
<!DOCTYPEHTMLPUBLIC"//W3C//DTDHTML4.01Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<metahttpequiv="ContentType"content="text/html;charset=ISO88591">
<title>JSPPage</title>
</head>
<body>
<%@includefile="topo.jsp"%>
Dadosdoformulario<br>
<%
Stringnome=request.getParameter("txtnome");
if(nome=="")
out.println("Nomenofoidigitato");
else
out.println("Seunome"+nome);
%>

<br>EMail:<%=request.getParameter("txtemail")%><br>
DatadeNascimento:<%=request.getParameter("txtdtnasc")%><br>
<%@includefile="rodape.jsp"%>
</body>
</html>

http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

21/25

8/19/2015

IntroduoaoJavaServerPagesJSP

Aquifoiutilizadoorequest.getParameter,queomtodoresponsvelporreceberos
dadosdoformulrio.Elerecebepelonomedocampoquefoicriado.Nestecasoos
dadosseroarmazenadosdentrodavarivelnome,queumtipostring.Utilizamoso
ifparaverificarseonomefoidigitado.

Concluses
EstafoiaumabreveintroduosobrealinguagemServersideJSPedecomocriar
pginaswebdinmicasdeformaprticaesimples.Emprximosartigos,ser
abordadocomoseconectarabancodedadosparacriarumapginadinmicade
notciasatautilizaodeJSTL.

Referncias
PginaprincipaldoTomcat
TudosobreaJSP,FernandoAnselmo,VisualBooks,2005:LivrotratasobreJSP
esobreautilizaodeJSTL

FabioGomesRocha
CSMCertifieldScrumMasterCISFCertifieldInformationSecurityFoundationbasedonISO/IEC
27002DocenteSenaiemcursostecnicosedeformaocontinuada.Prof.UniversidadeTiradentesnos
cursosdecomputao.Analista[...]

Oquevocachoudestepost?

http://www.devmedia.com.br/introducaoaojavaserverpagesjsp/25602

22/25

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