[color=“darkblue”]Em um aplicativo, não sei alguém saberia como eu faria para veirficar os usuários logados na sessão ?
Desde já agradeço !!![/color]
[color=“darkblue”]Em um aplicativo, não sei alguém saberia como eu faria para veirficar os usuários logados na sessão ?
Desde já agradeço !!![/color]
ao efetuar o login coloque uma informação na sessão que diz respeito ao usuário…
por exemplo um id = id_do_usuario
caso expire a sessão ou o usuário faça um logoff este valor será apagado
if( session.getValue(“id”) == null ){
//o usuário não está logado
}
abrass
[color=“darkblue”] Na verdade eu quero quando efetuar o Login no sistema, quero verificar a quantidade de usuários logados na sessão, isso no caso se for logado como Administrador, ou seja quero verificar a quantidade não apenas de pessoas conectadas em uma sesssion mas também seu nome de usário.[/color]
Achei esse código aqui:
javax.servlet.http.*;
import com.jamonapi.*;
/*
To put the object into an HTTPSession call: session.setAttribute("user", new User("steve"));
*/
public class User extends java.lang.Object implements HttpSessionBindingListener {
private Monitor userMon;
private Monitor sessionMon;
// Assumes you have a way of populating the userName
private String userName;
public User(String userName) {
this.userName=userName;
}
public void valueBound(HttpSessionBindingEvent event) {
sessionMon = MonitorFactory.start("MyAppName.allSessions");
userMon = MonitorFactory.start("MyAppName.session."+userName);
}
/* Called when a sessin ends with an explicit invalidate() or its timeout period has been reached. */
public void valueUnbound(HttpSessionBindingEvent event) {
userMon.stop();
sessionMon.stop();
}
}
faça o seguinte:
-cada usuario que entrar, vai criar um objeto usuario, que possui nome e etc… essa classe sua ai serve, mas ai vc tem q criar uma lista, um ArrayList seria legal, para guardar todos os objetos user, e guarda no servidor, ai qndo vc logar como adm, cria um metodo pra vc verificar o numero de pessoas, e faz um for pra listar seus nomes tb… eu usaria jsp…
tipo:
o usuario entrou:
<%@import "suaclasseUser" %>
User user = new User("nome",etc...);
ArrayList users = (ArrayList)application.getAttribute("users_logados");
if(users==null){
ArrayList users = new ArrayList();
}
users.add(user);
/*usuario adicionado na lista agora vamos atualiza-la no servidor*/
application.setAttribute("users_logados",users);
(...)
%>
ai qndo vc logar o seu metodo deve retornar o seguinte:
ArrayList users = (ArrayList)application.getAttribute("users_logados");
int logados=users.size();//retorna o nº de posições preenchidas.
//para pegar os nomes faça um for com essa instrução dentro:
User user = (User)users.get(cont); //cont=contador do for
System.out.println(user.getNome());
bom tem varios jeitos de se fazer… mas eu faria assim…
flw
so nao esqueça que qndo o usuario sair o msm deve ser apagado do arraylist
users.remove(nomedouser);
[color=“darkblue”]
Obrigado a todos pelas respostas !
[/color]