[RESOLVIDO] É uma boa prática guardar objetos na session?

Olá pessoal,

Estava fazendo uma leitura sobre JSP em um material relativamente antigo (5 anos) e encontrei a seguinte declaração:

Session: Session information can cross pages and servlets, session can be used to store objects [Sessão pode ser usada para armazenar/guardar objetos].

Surgiu a dúvida: É uma boa prática guardar objetos na session?

Exemplo:

  • Tenho uma aplicação (pequena);
  • Preciso fazer o controle de conexões (uma conexão para cada usuário conectado);

Posso guardar um objeto do tipo Connection na session da minha aplicão sem ter problemas? Dessa forma tenho uma unica conexão por usuário.

Quais riscos a aplicação poderia correr?

É possível “destrichar” uma session e conseguir suas informações sem (o atacante) conhecer a aplicação?

Fiz várias pesquisas sobre cuidados com segurança em aplicações web e encontrei o tema “Sequestro de sessão” e fiquei com dúvidas.

Obrigado

Você pode gravar objetos na sessão, mas o exagero pode levar a problemas de escalabilidade. Afinal de contas, é a memória do servidor que está sendo usada no armazenamento.

Definitivamente guardar um objeto representando a conexão do banco na sessão não é recomendado. Se você quer gerenciar as conexões de forma eficiente, use um pool de conexões. Se você estiver usando JDBC puro, o C3P0 é uma boa pedida.

Olá tnaires

Consegui fazer um pool de conexões no Tomcat (server_Resource.xml). Mas, o serviço de hospedagem que será disponibilizado não permitirá fazer alterações no Tomcat porque ele será compartilhado. Por isso surgiu a dúvida/problema porque também não terei tempo de criar um gerenciamento de conexões utilizando o Spring.

Vou ler sobre o C3P0. Mas de antemão ele se aplica à minha situação?

Obrigado pela atenção.

O C3P0 é ideal para sua situação, uma vez que você não terá acesso ao serviço fornecido pelo Tomcat. A configuração do C3P0 é realizada dentro da própria aplicação.

tnaires, muito obrigado pela informação.

Só pra falar o uso de Session é bom até certo ponto não pode exagerar no uso delas como disse ai em cima !
Session e excelente para pequenas coisas por exemplo Login e senha pode conferir um exemplo no link
http://umcastec.blogspot.com/2010/04/o-que-sao-sessions-sessions-sao.html

vlw
abs

Muito legal o artigo. Esclareceu algumas dúvidas.

Obrigado pela visita e volte sempre!
e se quiser conferir um exemplo em JSP e SERVLET também tem!
Session em JSP
http://umcastec.blogspot.com/2010/04/session-em-jsp.html
O próximo exemplo vai ser com PHP

vlw
abs