Ler uma session de uma classe

8 respostas
C

PessoALL,

Queria saber se tem como eu ler uma session de dentro de uma classe ?

Valeu,

8 Respostas

R

essa classe seria um servlet?

M

explique melhor sua duvida… vc quer adquirir a session? quer saber o id da session? ã?

C

Não é um servlet é uma classe que usarei como bean.
Só que nessa classe preciso de um valor que é carregado na session.

Tem como eu pegar o valor da session ou tenho que passar para o método como parâmetro ???

M

ué.. da pra fazer desses dois jeitos mesmo.... o mais usual:

SeuParametro p = request.getSession().getAttribute( "foo" );

SeuObjeto o = new SeuObjeto();
o.doStuff( p );

ou.. fazer o método do teu objeto receber um HttpSession e passar direto pra ele (claro, oq é o ruim em comparação com o outro):

o.doStuff( request.getSession() );
C

Eu não fui muito claro mas eu queria saber se tem como eu pegar o valor da session de dentro da classe ?

M

e eu ainda não entendi… hehehehe, oq tu chama de “valor” da session? O Id da session do usuário??? :roll:

C

Não, por exemplo a minha classe é para conectar no banco. Aí eu tenho todos as informações utilizadas para conectar em váriaveis session.

session.setAttribute(Class, sun.jdbc.odbc.JdbcOdbcDriver);

session.setAttribute(DriverManager, jdbc:odbc:teste);

session.setAttribute(Usuario, “”);

session.setAttribute(Senha, “”);

E dentro da minha classe eu tenho um método que se chama Conectar(). Dentro desse método eu quero ler as informações que eu vou utilizar para conexão que estão nas sessions.

M

ahhh tu quer saber como recuperar esses atributos? ué..

String class = (String) session.getAttribute("Class");
String driverManager = (String) session.getAttribute("DriverManager");
String usuario = (String) session.getAttribute("Usuario");
String senha = (String) session.getAttribute("Senha");

teuObjeto.conectar(class, driverManager, usuario, senha);

mas na minha opnião isso são informações a serem persistidas em escopo de aplicação, não de sessão...

Criado 17 de março de 2005
Ultima resposta 18 de mar. de 2005
Respostas 8
Participantes 3