Escolar Documentos
Profissional Documentos
Cultura Documentos
Classes Servlets
Programao WEB 1
Objetivos
Ao final desta lio, o estudante ser capaz de:
Obter uma viso geral da arquitetura Servlet Conhecer o ciclo de vida de uma Servlet Manipular requisi es e respostas Configurar, empacotar e distribuir uma aplicao !"# Conhecer os par$metros de aplica es !"#
Programao WEB
Servlet
%ara programar:
%rogramao &ava Conceitos Cliente'(ervidor )*M+ e )**% importar as classes padro de e,tenso do pacote -ava,.servlet e -ava,.servlet.http. -ava,.servlet -ava,.servlet.http
%ara criar:
Programao WEB
Common /ate0a1 2nterface 3C/24 (ervlets so pro-etadas para fornecer aos desenvolvedores uma soluo &ava para criar aplica es !"# ",iste somente um processo que gerencia as requisi es (ervlets so carregadas na mem5ria somente uma vez
Programao WEB
Programao WEB
Controlado pelo container em que a Servlet foi implementado %ermite que o cont7iner resolva os problemas
Programao WEB
A classe da servlet 8 carregada na mem5ria, e uma instancia 8 criada pelo cont7iner %elo padro, um cont7iner realiza o que 8 chamado lazy loading Servlet atravessa essa fase somente uma vez na vida Chamado o m8todo construtor sem argumento
Programao WEB
Servlet 8 preparada para uso na aplicao Servlet atravessa tamb8m este estgio somente uma vez Ap5s esta fase a inst$ncia da classe comea a ser chamada de Servlet Chamado o m8todo init ! public void init(ServletConfig config)
Programao WEB
A fase em que uma servlet se encontra ao longo de sua vida A servlet pode repetidamente ser chamada pelo container para fornecer sua funcionalidade Chamado o m8todo service ! public void service(ServletRequest req, ServletResponse res)
Programao WEB
9uando uma servlet deve ser removida de um cont7iner :esenvolvedores no podem interferir Chamado o m8todo destro# !
Programao WEB
10
;ase no ciclo de vida da Servlet equivalente a qualquer outro ob-eto &ava Ocorre imediatamente antes que uma instancia do ob-eto se-a removido da mem5ria :esenvolvedores no t7m nenhum controle direto Chamado o m8todo %inalize !
Programao WEB
11
A servlet disp e de um ob-eto ServletRequest (ervlet possuem uma subclasse chamada )**%(ervlet<equest ;ornece m8todos adicionais para recuperar informa es espec=ficas para )**% 2nformao de cookie, os detalhes de cabealho
Programao WEB
12
:ados de ;ormulrio e Argumentos <ecuperando 2nforma es da ><+ da <equisio 2nforma es de Cabealho /erao da sa=da
Programao WEB
13
Programao WEB
14
request,getParameter
Programao WEB
15
request,getParameter
%ara este e outros cenrios similares, &ava fornece o m8todo get%arameter no ob-eto )ttp(ervlet<equest public String getParameter(String parameterName)
Agora, vamos criar o c5digo que recebe o nome do usurio, devolve um cumprimento simples e o )*M+ usado para visualizar o formulrio
Programao WEB
16
request,getParameterValues
Programao WEB
17
request,getParameter-ames
Programao WEB
18
)ost @ request.get(erver6ame34 %ort @ request.get(erver%ort34 <equest %ath @ em &ava 8 dividido em A componentes l5gicos: Conte,t @ O conte,to da aplicao 0eb. %ode ser recuperado invocando o m8todo request.getConte,t%ath34 %ath info @ tO restante da requisio, ap5s o nome do conte,to %ode ser recuperada invocando o m8todo request.get%ath2nfo34 9uer1 (tring @ request.get9uer1(tring34
Programao WEB
19
Programao WEB
20
In%orma'es de Cabeal/o
Programao WEB
21
$erao de Sa0das
Programao WEB
22
O servlet define um arquivo FM+ chamado de 0eb.,ml que age como um arquivo de configurao para as aplica es 0eb "ste arquivo 8 tamb8m chamado de descriptor de deplo1 (er utlizado o primeiro e,emplo ;irst(ervlet como um ponto de partida para melhor entender a estrutura do 0eb.,ml
Programao WEB
23
Programao WEB
24
2eb,3ml
Programao WEB
25
A Aplicao pode ser posta no container 0eb por meio de um Jnico arquivo chamado !A< Arquivos !A< so os mesmos de arquivos &A<s: eles simplesmente contem c5digos -ava comprimidos utilizando um formato K2% 2nformalmente, !A< significa Arquivo !eb
Programao WEB
26
Programao WEB
27
Programao WEB
28
ServletCon%ig e Servlet
(ervletConfig
%assado para um servlet especifico durante sua fase de inicializao. ;azendo uso disto, o servlet pode: <ecuperar informa es especificas para ele mesmo, tais como par$metros de inicializao /anhar acesso a uma instancia do ob-eto de ServletContext
9uando se lida com informa es que pode variar com cada deploy realizado na aplicao %ermite que comportamentos do servlet se-am modificados sem que se-a necessrio a recompilao do c5digo
Programao WEB 29
ServletCon%ig e Servlet
Programao WEB
30
Sum*rio
(ervlets Ciclo de ?ida da (ervlet /erenciando <equisi es e <espostas :ados de ;ormulrio e Argumentos request.get%arameter, request.get%arameter?alues, request.get%arameter6ames <ecuperando informa es de uma requisio ><+ Configurao de uma Aplicao !"# "mpacotando uma aplicao %ar$metros do (ervlet e Aplicao
Programao WEB
31
Parceiros
TM
(oss0vel em
Programao WEB
32