Timeout de sessão

fala pessu, belez???
é o seguinte…eu estou fazendo um aplicativo web, e algumas tarefas são meio demoradas, então eu precisava setar o tempo da sessão de acordo com as minhas nescessidades…

álguem aí da uma dica pra mim???ah, tenhu q usar session timeout, num é??? bom…obrigado pela atenção, galera…
{}'s

flw’s

http://www.guj.com.br/posts/list/25821.java

Qual servlet container está utilizando?

Scottys

  Venho eu formalmente agradecer-lhe pela sua preocupação referente à minha escrita e à forma com que as pessoas se expressam neste fórum.
 Porém, também venho aproveitar a oportunidade de lhe apontar algumas incoerências com tal atitude.

1 - A ocasionalidade da situação requer tal formalidade?
2 - Sendo você usuário de programas de bate-papo tal como Microsoft Network Messenger (abreviatura do tipo MSN poderiam lhe incomodar) ou ICQ (contração da expressão I Seek you), e já tendo usado pelo menos uma vez este linguajar, acarreta na situação de você estar entrando em contradição.

Sendo assim, peço-lhe que passe a se preocupar com problemas referentes a este tópico, deixando a atual preocupação para o fórum de portugês, certo?

Agora, se você souber como que eu faço pra setar o timeout da sessão eu ficarei grato em voltar a conversar com você.

Lipe, estou usando o tomcat 5…

{}'s

Se vc quiser via programação, de uma olhada no metodo void setMaxInactiveInterval(int interval) da interface HttpSession.

Mais informações:
http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/http/HttpSession.html#setMaxInactiveInterval(int)

Você também pode setar através do deployment descriptor da sua aplicação (web.xml)

leonardom…

comprendi como usar o metodo…porém como faria para a sessao nunca expirar??? fazendo com que a sessao só expire kando o usuario fechar o browser… dá?

Para tempo infinito de sessão creio que colocando -1 no parâmetro no web.xml resolve. E esta é uma péssima prática, pois memória a toa será gasta no servidor.

E não há maneira segura de acabar a sessão quando o usuário fechar o browser. A energia pode acabar, o micro travar e outras coisas mais.

O que pode fazer se realmente precisa implementar algo semelhante a uma sessão que dura enquanto o browser estiver aberto é:

  • no web.xml coloque um tempo de vida de sessão curto, algo como 2-3 minutos
  • quando o usuário loga na aplicação, crie um mecanismo de “ping” que faça uma requisição besta para o server, apenas para dar o refresh na sessão. Há algumas opções, aqui duas:
  • usar XMLHTTPRequest com javascript
  • criar um iframe oculto com o meta-header de auto-refresh
    Em ambos os casos uma requisição seria feita alguns segundos antes do tempo de sessão acabar.

E quanto ao português, quaaaase não respondi o seu tópico. É exatamente o mesmo trabalho digitar “tenho”/“tenhu” e “num”/“não” . A diferença é parecer um idiota ou não. É normal pecar com pontuação, concordância aqui e ali; mas “tenhu” é falta mesmo. Sei que cada um escreve do jeito que bem entender, mas saiba que tem gente que passou do meu “quase” e não respondeu por causa disso.

[quote=pmsoad]leonardom…

comprendi como usar o metodo…porém como faria para a sessao nunca expirar??? fazendo com que a sessao só expire kando o usuario fechar o browser… dá?[/quote]

Quanto ao seu post acima … Tente parecer um profissional de TI que ao menos fala direito, não uma menina de 14 anos “teclando” as 14:00 da tarde

vlw, leonardom pela atenção:

<session-config> <session-timeout>-1</session-timeout> </session-config>

funcionou como vc disse, porém o Lipe me alertou com a possibilidade de uma sessão permanecer aberta caso aconteça algum imprevisto e o usuário caia sem ter fechado o browser. Sendo assim comprometeria a segurança da informação, certo?

Lipe o seu método de utilizar um frame oculto com auto-refresh parece mais apropriado…

Scottys0 obrigado pelo alerta sobro o javadoc, eu realmente li apenas as duas primeiras linhas do método e não percebi o trecho que vc grifou.

Komu.u.lipi.dissi.cabe.a.cada.1.iskrevê.komo.kisé.i.kab.a.kd.1.c.reservá.o.direito.d.num.resp.kaso.num.kera. :wink:

Infelizmente a arrogancia ainda predomina na área de computação!

Graças a Deus, estou estudando e me humanizando mais e mais a cada dia para não me igualar a esse pessoal que se diz “profissionais de TI”. Um profissional de verdade tem que saber lidar com o público seja ele qual for.

Não nos envergonhe camarada!!!