Ol� Augusto, Uma "Session" � criada todas as vezes que o cliente abre uma instancia do seu navegador (IE, Netscape, ...) e faz um "request" para o ser WebServer. A "Session" � destru�da ap�s o "tempo" que voc� especificou para o seu WebServer "ou" para o "tempo" que voc� especificou para a sua aplica��o.
Normalmente (apdr�o) voc� n�o sabe quando o cliente "fecha" o seu navegador, por isso existe o tempo limite da existencia da sess�o. Esse tempo � o tempo de inatividade do cliente. Entenda por inatividade se ele n�o fizer nenhum "request" para seu webserver no tempo limite especificado por voc�. Mas, se voc� desejar saber "aproximadamente" quando o cliente fecha o navegador, voc� fai ter que sobrecarregar seu servidor webserver perguntando (digamos a cada 15 segundos) se o seu cliente ainda esta conectado ao seu WebServer - para isso voc� vai ter que implementar na m�o este m�todo atrav�s do protocolo HTTP. Eu, pessoalmente, n�o recomendo voc� fazer isso nunca !!! J� imaginou voc� ter umas poucas conec��es e estar verificando a cada x segundos se o cliente fechou o seu navegador "ou" foi para outro site ??? N�o faz muito sendido n�o :-)) � melhor voc� deixar seu webserver ou aplica��o tomar conta disso. Ali�s, eles fazem isso muito bem !!! :-)) Bem, tamb�m n�o confie que voc� parando e reiniciando o Apache Tomcat o cliente vai ter uma nova sess�o. Isso depende se o valor "session" n�o foi armazenada pela aplica��o no cliente atrav�s de Cookie. Mas uma coisa voc� pode ter certeza absoluta : Cada cliente � unico para uma �nica session. Isto �, uma session s� pertencer� a um �nico cliente "seguramente". :-)). Finalmente, entenda por "cliente" uma instancia do navegador aberto no cliente. Bem, agui vai agora uma pimentinha para arder sua cabe�a : Se o cliente abrir outra janeja (n�o Instancia do navegador) do navegador, ent�o sua aplica��o receber� requests de duas janelas com coisas diferentes mas tudo tendo como or�gem uma mesma session (Um cliente pode fazer isso apertando as teclas CTRL+N no IE). A� voc� "TEM" que tratar isso na sua aplica��o, sen�o ser� uma bagun�a geral ... com resultados imprevis�veis :-)) O Bom desta historiazinha � que "normalmente" ninguem faz isso :-)) E a outra coisinha boa � que tem jeito de voce saber se � um request de uma session j� existente (Instancia aberta) ou se � um request de uma session de uma "nova" instancia criada pelo cliente !!! Para saber mais sobre "sessions" (e outras coisas 'misteriosas' dos WebServers), recomendo a leitura/estudo da "Base de Conhecimento" do projeto Jakarta, que deu or�gem � quase da totalidade dos WebServs existentes hoje em dia no mercado. Boa sorte, MMFernandes. ----- Original Message ----- From: "Augusto Cesar Castoldi" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, August 13, 2002 8:14 PM Subject: [java-list] Renovando uma Sess�o Ola como eu fa�o para contralar a sessao da minha aplicacao com o usuario? Quero criar uma nova sessao quando ele faz login, e destrui-la (al�m de invalidar .invalidate()) quando ele faz logoff. Como fazer isso? Acontece que o tomcat cria uma sessao assim que o usuario chega ao site. Se houver um periodo de inatividade, eu n�o consigo restaurar a sess�o depois. Se eu derrubar o tomcat, da� sim o visitante ganha uma nova sessao.... obrigado pela atencao. ate mais, Augusto _______________________________________________________________________ Yahoo! PageBuilder O super editor para cria��o de sites: � gr�tis, f�cil e r�pido. http://br.geocities.yahoo.com/v/pb.html ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP d�vidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------
