Olá pessoal, eu estou fazendo um módulo de um projeto java web e acabei ficando num beco sem saída. Após eu sair da tela Login.jsp eu preciso carregar algumas listas com alguns objetos antes de ir para a index, pois nela é necessário saber umdeterminado usuário logado para que ele tenha acesso somente aos seus dados, então eu criei um contrutor que carrega essas informações… mas quando o usuário faz logout e faz login novamente o construtor já está criado e não consigo capturar o novo usuário logado. Então pergunto como posso fazer com que os métodos do construtor sejam executados sempre que é feito login?
Como fazer que um contrutor se reinicie?
J
2 Respostas
Pelo jeito você está criando algum objeto e armazenando na sessão, visto que é uma aplicação web, correto?
Acho que seria mais fácil você remover esse objeto da sessão ao fazer o logout…
Aliás, se puder, posta o trecho onde é feita essa validação do login pra gente poder entender o que você está fazendo…
J
esse trecho fica na bean de login:
e esse fica na bean da index:
mas o negócio é que o construtor da bean da index deixa guardado esse usuárioLogado no moduoInternet.
esse é o código da tela de login:
public Usuario getUsuariologado() {
if (usuariologado == null && FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal()!=null){
String login = FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal().getName();
if (login != null){
Usuario user = new Usuario();
user.setNmLogin(login);
List l = getGenericServiceLocator().getGenericService().getPeloExemplo(user,false,false);
if (l.size() > 0){
usuariologado = (Usuario) l.get(0);
}
}
}
return usuariologado;
}
this.moduloInternet = new ModuloInternet();
this.usuarioLogado = new Usuario();
BeanLogin bean = (BeanLogin) GerenciadorBean.getBean("beanLogin");
usuarioLogado = bean.getUsuariologado();
moduloInternet.setCliente(usuarioLogado.getColaborador().getCliente());
<f:view>
<%@ include file="/comuns/cabecalho_login.inc"%>
<h:panelGrid width="100%" align="center" style="valign:middle;" >
<%@ include file="/comuns/login.inc"%>
</h:panelGrid>
<%@ include file="/comuns/rodape_login.inc"%>
</f:view>
<td width="100%" background="<%=request.getContextPath()%>/img/back_topo.gif" align="right" valign="middle">
<table height="100%" valign="middle" align="center">
<tr><td class="cssAtributo">Usuário</td></tr>
<tr><td><input class="cssComponenteLogin" type="text" name="j_username" size="15" ></td></tr>
<tr><td class="cssAtributo">Senha</td></tr>
<tr><td><input class="cssComponenteLogin" type="password" name="j_password" maxlength="20" size="15" ></td></tr>
<tr><td align="center" ><input class="cssbtn" type="submit" value="Entrar"></td></tr>
</table>
</td>
Criado 22 de novembro de 2010
Ultima resposta 22 de nov. de 2010
Respostas 2
Participantes 2
Alura O que é Python? — um guia completo para iniciar nessa linguagem de programação Acesse agora o guia sobre Python e inicie sua jornada nessa linguagem de programação: o que é e para que serve, sua sintaxe e como iniciar nela!
Casa do Codigo Engenharia de Prompt para Devs: Um guia para aprender a... Por Ricardo Pupo Larguesa — Casa do Codigo