Você está na página 1de 26

1

DLSVLNDANDC CS SLkVLL1S 3.0


Aluno: 8runo do CouLo 8osa
brunodcouLo3[hoLmall.com
Cs Serv|ets 3.0
! Lanada em novembro de 2009

! !ava LL 6 que dene a verso 3.0 dos ServleLs

! L de fcll congurao

! AumenLa a produuvldade do desenvolvedor

! Alnda e posslvel usar a verso dos ServleLs anuga

Serv|ets Antes
! C desenvolvedor unha que crlar uma classe que esLendla de
PupServleL
! 1lnha que congurar a classe correLamenLe no arqulvo web.xml

Serv|ets 3.0
! uullza-se annoLauons, em vez da congurao no web.xml que
agora e opclonal
! A annoLauon [WebServleL e usada para congurar o ServleL
! C aLrlbuLo urlauerns lndlca o padro de u8L que ser mapeado
!
Atr|butos do QWebServ|et
! name - dene o nome para o servleL
! uescrlpuon - dene uma descrlo
! AsyncSupporLed - d suporLe a servleLs asslncronos
! lnlLarams - parmeLros do servleL que podem ser recuperados aLraves
da chamada ao geLServleLCong().geLlnlLarameLer()
! A denlo de cada parmeLro e felLa aLraves da [WeblnlLaram
Uma ap||cao s|mp|es
Arqu|vo |ndex.[sp
I||ters e L|steners
! Como so basLanLes semelhanLes aos ServleLs, Lambem sofrem mudanas
com o lanamenLo do !ava LL 6

! AnLes o lllLer era preclso lmplemenLar a lnLerface [avax.servleL.lLer

! L o LlsLener era denldo no arqulvo web.xml

! Agora LanLo os lLers como os llsLeners so congurados aLraves das
annoLauons [WeblllLer e [WebLlsLener

! ara os lllLers so usados os mesmos parmeLros que os ServleLs, da
mesma forma
Conhgurao Lxterna
! Lra mulLo dlncll a congurao do web.xml

! Agora e posslvel ler servleLs, lLers ou llsLeners lmplemenLados em ouLro
arqulvo, desde que esLe[a no pacoLe da apllcao

! odem ser felLas aLraves das mesmas annoLauons ou de fragmenLos do
arqulvo web.xml

! lragmenLos so arqulvos web-fragmenL.xml

Conhgurao externa usando
fragmentos
! edaos do arqulvo web.xml
! odem ser carregadas de vrlos arqulvos
! no usa annoLauons, mas slm um arqulvo web-fragmenL.xml, como um
arqulvo web.xml
! Cs fragmenLos devem ser organlzados e ordenados
! A Lag <absoluLe-orderlng> esLabelece a ordem enLre os fragmenLos

! C lLer sem annoLauons carla asslm:
Arqu|vo Web-fragment.xm|
! lmplemenLao do arqulvo web-fragmenL.xml
Arqu|vo Web.xm|
! lmplemenLao do arqulvo web.xml
! Crdenao dos fragmenLos
Arqu|vo Web-fragment.xm|
! Cu enLo lndlcando a sequncla dos fragmenLos usando as Lags <aer> ou
<before>
Serv|ets, I||ters e L|steners D|nm|cos
! lnLegrao enLre apllcaes e frameworks, aLraves de carregamenLo
dlnmlco - em Lempo de execuo
! ara suporLar o carregamenLo dlnmlco foram adlclonados a lnLerface
ServleLConLexL, os meLodos addServleL(), addlllLer() e addLlsLener()
! S so lnvocados denLro do meLodo conLexLlnluallzed() ou no meLodo
onSLarLup()
! um exemplo de ServleLConLexLLlsLener para a apllcao
Serv|ets, I||ters e L|steners D|nm|cos
! C meLodo onSLarLup() da lnLerface ServleLConLalnerlnluallzer, e excluslvo
da verso 3.0 dos ServleLs


! lmplemenLar a classe lnluallzer somenLe com o meLodo onSLarLup()

! uepols congurar com um dlreLrlo denLro da apllcao com
chamado servlces


! Crlar um arqulvo que deve Ler o nome de !"#"$%&'(#)'*%
,'(#)'*-./*"0/'(1/02")03'( que Ler o nome da classe no caso
lnlL.lnluallzer


! LnLo pode ser aprovelLados frameworks exLernos
Serv|ets, I||ters e L|steners
D|nm|cos
A annotanon Qnand|es1ypes
! L usada em classes que lmplemenLam a lnLeface
ServleLConunerlnluallzer


! 8ecebe como parmeLro uma llsLa de classes e/ou lnLerfaces


! Se exlsur uma classe AppLlsLener ela ser chamada, e ser passada
como parmeLro para o meLodo
Mtodo addServ|et()
! 8ecebem parmeLros para congurao do ServleL
! Assumem a exlsLncla do servleL AppServleL no pacoLe servleL
! C reLorno desses meLodos e um ob[eLo do upo
ServleL8eglsLrauon.uynamlc
C ob[eto Serv|etkeg|stranon.Dynam|c
! LsLe ob[eLo e uullzado para congurar ouLras lnformaes do servleL
depols que ele fol reglsLrado
! armeLros lnlclals, mapeamenLo
Mtodo addI||ter()
! 8ecebe parmeLros para congurao do lllLer
! Assumem a exlsLncla do lLer ApplllLer no pacoLe lLer
! C reLorno desses meLodos e um ob[eLo do upo
lllLer8eglsLrauon.uynamlc
Mtodo addL|stener()
! 8ecebe parmeLros para congurao do LlsLener
! Assumem a exlsLncla do llsLener AppLlsLener no pacoLe llsLener
! no reLornam nenhum dado
Chamadas Ass|ncronas a Serv|ets
! no era posslvel na verso 2.3


! ermlLe que duranLe a espera por uma resposLa, a Lhread que esL
aLendendo a requlslo se[a llberada


! uepols quando a resposLa chegar, uma nova Lhread e uullzada para
dar conunuldade ao processo

Chamadas Ass|ncronas a Serv|ets
! ALrlbuLo asyncSupporLed
! MeLodo sLarLAsync - responsvel por dlsparar o processamenLo
asslncrono e o reLorno e do upo AsyncConLexL
! Cuando o sLarLAsync e dlsparado os meLodos doCeL() e doosL()
Lermlnam de execuLar e no geram resposLa a requlslo
! ara gerar a resposLa e necessrlo que o meLodo compleLe() do
ob[eLo AsyncConLexL se[a chamado

Chamadas Ass|ncronas a Serv|ets
! Cuando um mudana ocorrer, o meLodo aLuallzar() que uullza o
ob[eLo AsyncConLexL


! Lscreve os dados na sLream de salda e chama o meLodo compleLe()
para nallzar o processo


Conc|uso
C ServleL 3.0 fol crlado para aumenLar a produuvldade
do desenvolvedor, pols e de fcll congurao por
usar as annoLauons.


L8Cun1AS ???
26

Você também pode gostar