Como fazer que um contrutor se reinicie?

2 respostas
J

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?

2 Respostas

marcelo.bellissimo

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:
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;
	}
e esse fica na bean da index:
this.moduloInternet = new ModuloInternet();
		
		this.usuarioLogado = new Usuario();
		BeanLogin bean = (BeanLogin) GerenciadorBean.getBean("beanLogin");
		usuarioLogado = bean.getUsuariologado();
		moduloInternet.setCliente(usuarioLogado.getColaborador().getCliente());
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:
<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