Buscar

GERENCIAMENTO DE SESSÃO E LOGIN

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
 
 
 
GERENCIAMENTO DE SESSÃO E LOGIN 
 
 
O monitoramento de sessão é a identificação de usuários individuais à medida 
que eles navegam pelo site. 
 
HTTP é o protocolo que permite que os servidores Web e browsers troquem 
dados pela Web. Trata-se de um protocolo de solicitação e resposta. As conexões 
HTTP são iniciadas por um browser cliente que envia uma solicitação HTTP. 
Então, o servidor Web responde com uma resposta HTTP, num comportamento 
simplificado. Portanto, se um cliente solicitar outro recurso do servidor, ele 
precisará abrir outra conexão HTTP para o servidor. 
 
Observe a situação abaixo: 
 
Imagine que um usuário está comprando em uma loja on-line. O processo inicia 
com o usuário buscando por um produto. Se o produto for encontrado, então o 
usuário entrará com a quantidade daquele produto no formulário do carrinho de 
compras e submeterá ao servidor. Mas, o usuário ainda não encerrou sua busca 
por produtos, ele ainda quer comprar algo mais. Portanto, ele busca no catálogo 
um segundo produto. Entretanto, o primeiro pedido de produto está perdido 
porque a conexão anterior foi fechada e o servidor Web não se lembra de nada 
sobre a conexão anterior. [6] 
 
 
Para o exemplo acima é que entra o gerenciamento de sessão, que possui 
basicamente 4 (quatro) técnicas: 
1. Reescrita de URL; 
2. Campos ocultos; 
3. Cookies; e 
4. Objetos de sessão. 
 
Dessas 4 (quatro) técnicas de gerenciamento de sessão, o objeto Session, 
representado pela interface javax.servlet.http.HttpSession, é o mais fácil de ser 
utilizado. 
 
 
 
 
 
 2
 
Figura 24 – Sessão 
Fonte:[9] 
 
 
 
 Objeto Session: É do tipo javax.servlet.http.HttpSession. O contêiner 
implementa essa interface, e a cada usuário dentro de um site pode ser 
atribuído um objeto session no servidor. O objeto session tem dois papéis-chave: 
 
• Armazena as informações sobre a data e a hora de criação e de último 
acesso para uma sessão particular, junto com um ID de sessão único (ID 
Session); e 
• Permite que outros objetos sejam “amarrados” à sessão, como carrinhos 
de compras e outros exemplos. 
 
O objeto session age como uma Hashtable, onde se pode armazenar qualquer 
quantidade de pares chave /objeto. O objeto HttpSession é acessível a partir de 
outros servlets no mesmo aplicativo. Para recuperar um objeto previamente 
armazenado, é necessário apenas passar a chave. 
O ID session é simplesmente um número único, chamado de session identifier. 
Esse identificador de sessão é usado para associar um usuário a um objeto 
session no servidor. Ou seja, se houver 10 (dez) usuários simultâneos, 10 (dez) 
objetos session serão criados no servidor e cada usuário poderá acessar seu 
próprio objeto HttpSession. 
O método getSession da interface javax.servlet.http.HttpServletRequest tem 2 
(duas) sobrecargas: 
• HttpSession getSession() - retorna a sessão atual associada a essa 
solicitação ou, se a solicitação não tiver um identificador de sessão, 
ela cria um novo. 
• HttpSession getSession(boolean create) - retorna um HttpSession 
corrente associado com o request, ou se não existir uma session 
corrente e create for igual a true, retorna uma nova session 
A Interface javax.servlet.http.HttpSession: 
getAttribute: Retorna o objeto vinculado à sessão com esse nome específico. 
Retorna null se nenhum objeto estiver vinculado a esse nome. 
getAttributeNames: Retorna todos os nomes de atributos vinculados como um 
array de Strings. 
getCreationTime: Retorna em milissegundos a data/hora em que a sessão foi 
criada desde meia noite de 1º de janeiro de 1970 GMT . 
 
 
 
 3
 
getID: Retorna o identificador de sessão como uma String. 
getlastAccessedTime: Retorna em milissegundos a data/hora em que a sessão 
foi acessada pela última vez desde meia noite de 1º de janeiro de 1970 GMT. 
getMaxInactiveInterval: Retorna quantos segundos a sessão permanecerá ativa 
enquanto o usuário permanecer inativo. 
 getgetServletContext: Retorna o ServletContext atual para essa sessão. 
 invalidate: Encerra a sessão e desvincula quaisquer objetos que estão 
vinculados a ela. 
isNew: Retorna true se a sessão atual não estiver sendo utilizada pelo cliente. 
removeAttribute: Desvincula um objeto do objeto session. 
setAttribute: Vincula a sessão o objeto passado como um parâmetro com o nome 
definido pelo parâmetro String. 
setMaxInactiveInterval: Configura o tempo em segundos que essa sessão 
permanecerá ativa enquanto o usuário permanecer inativo 
 
Segue, abaixo, um exemplo de uso de alguns métodos: [6] 
<%@ page import="java.util.*" %> 
<html> 
<head> 
<title>Exemplo do Objeto Session</title> 
</head> 
<body> 
<h1>O Objeto Session</h1> 
Exemplo de uso de alguns métodos da interface javax.servlet.http.HttpSession 
<br><br>A sessão foi criada em: <%= session.getCreationTime() %> 
<br>A sessão ficará inativa em um intervalo de: <%= 
session.getMaxInactiveInterval() %> 
 
 
 
 4
 
<br>O ID Session é: <%= session.getId() %> 
<br>A sessão atual está sendo usada? <%= session.isNew() %> 
<br>A sessão foi acessada pela última vez em: <%= 
session.getLastAccessedTime() %> 
<br>A sessão foi criada em: <%= session.getCreationTime() %> 
</body> 
</html>

Continue navegando