Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Neste tpico abordaremos o controle de sesso, que permite rastrear os dados do usurio enquanto ele se move pelo site
Toda ve que um cliente !a uma requisi"o, ele abre uma nova cone#o com o servidor $eb % servidor no mantm automaticamente in!orma"&es conte#tuais sobre o cliente
AP) HttpSession No necessrio manipular coo*ies diretamente ou acrescentar in!orma"&es na +,- .+,- rewriting/
'
Acessar o ob3eto de sesso associado 4 requisi"o ,ecuperar as in!orma"&es associadas a uma sesso Arma enar in!orma"&es na sesso 5escartar dados da sesso
0
+ma espcie de tabela 9as9 que pode arma enar ob3etos .associados a uma c9ave/ +m ob3eto HttpSession recuperado atravs do mtodo getSession() da classe HttpServletRequest
Se nen9uma sesso estiver associada 4 requisi"o, getSession() cria uma nova sesso va ia Se voc( pretende tomar uma a"o alternativa se a sesso no e#istir, use o mtodo getSession(false)2
HttpSession session = request.getSession(false); if (session == null) // tomar ao alternativa else // recuperar os dados da sesso
:
Para recuperar uma in!orma"o da sesso, use o mtodo session.getAttri ute(!"e#!) <sse mtodo devolve um $ %ect, portanto voc( deve !a er um type casting para o tipo apropriado % mtodo devolve null se no 9ouver o atributo
;
Para arma enar in!orma"&es na sesso, use o mtodo setAttri ute() % mtodo setAttri ute() substitui qualquer valor anterior do atributo Sinta#e2
>
<#emplo2
HttpSession session = request.getSession(); Some&lass value = (Some&lass)session.getAttri ute(!some'dentifier!); if (value == null) ( value = ne0 Some&lass(...); session.setAttribute("someIdentifier", value); , doSomet-ing.it-(value);
7?
,emover somente os dados que seu servlet criou2 removeAttri ute(!"e#!) ,emover toda a sesso2 invalidate() 1a er o logout do usurio e remover todas as sess&es que pertencem a ele2 logout()
77
Aplica"o que !a o loAin e o loAout de um usurio em uma aplica"o Beb Autentica e autori a o usurio a reali ar alAuma opera"o na aplica"o Tabela de usurios2
m#sql1 create ta le usuarios ( login 2AR&HAR(34) *$5 *677/ sen-a 2AR&HAR(84)/ primar# "e# (login) );
72
ConteCdo
PAina de loAin .inde#D3sp/ EavaFeans para o usurio .+suarioD3ava/ 5A% para acesso a tabela de usurios .+suario5A%D3ava/ Servlet de autentica"o .-oAinD3ava/ PAina de boas vindas a aplica"o .aplicacaoD3sp/ -oAout no sistema .-oAoutD3ava/
7'
pu lic class 6suario@A$ ( private static final String SF7GA65$R'HARG6S6AR'$ = !select I from usuarios 0-ere login=J and sen-a=J!; private &onnection connection; pu lic 6suario@A$() t-ro0s SF7=<ception ( t-is.connection = ne0 &onnection+actor#().get&onnection(); ,
7;
/II I Servlet implementation class 7ogin I/ pu lic class 7ogin e<tends HttpServlet ( pu lic void doBost(HttpServletRequest request/ HttpServletResponse response) t-ro0s Servlet=<ception/ '$=<ception ( String login = request.getBarameter(!login!); String sen-a = request.getBarameter(!sen-a!);
7>
2?
27
22
2'
26
,e!er(ncias
HA--, GH F,%$N, -D 1ree %nline Iersion o! Core Servlets and EavaServer PaAes .second edition/ in P51D 5isponJvel em2 9ttp288pd!DcoreservletsDcom8D
2: