JSF - erro(logar)

5 respostas
gisa_screen

NAO SEI QUE ERRO É ESSE, JA VERIFIQUEI O METODO LOGAR, PELO QUE PARECE ESTÁ CORRETO.CADASTRO NO BANCO O USUARIO, QUANDO VOU LOGAR PARECE ESSE ERRO…QUAL O PROBLEMA? COMO O OBJETO É NULL SE EXISTE NO BANCO???

HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: java.lang.NullPointerException
javax.faces.webapp.FacesServlet.service(FacesServlet.java:323)

root cause

javax.faces.el.EvaluationException: java.lang.NullPointerException

javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)

com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)

javax.faces.component.UICommand.broadcast(UICommand.java:387)

javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:764)

javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1185)

com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)

com.sun.faces.lifecycle.Phase.doPhase(Phase.java:102)

com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)

javax.faces.webapp.FacesServlet.service(FacesServlet.java:310)

root cause

java.lang.NullPointerException

locadora.controle.LoginMb.logar(LoginMb.java:33)

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

java.lang.reflect.Method.invoke(Unknown Source)

org.apache.el.parser.AstValue.invoke(AstValue.java:191)

org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)

org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)

javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)

com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)

javax.faces.component.UICommand.broadcast(UICommand.java:387)

javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:764)

javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1185)

com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)

com.sun.faces.lifecycle.Phase.doPhase(Phase.java:102)

com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)

javax.faces.webapp.FacesServlet.service(FacesServlet.java:310)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.26 logs.


Apache Tomcat/6.0.26

5 Respostas

S

No método logar da classe LoginMb na linha 33, o que vc exatamente está fazendo nesta parte do código?

Você não deve estar instanciando o objeto utilizado nesta parte do código.

gisa_screen

veja meu método logar

public String logar()
	{	
		Cliente clienteDoBanco = this.dao.obter(this.getCliente().getLogin());// obtem o login
		if (clienteDoBanco.getLogin()== null)
		{
			FacesContext contexto = FacesContext.getCurrentInstance();
			contexto.addMessage("erroLogin", new FacesMessage("O Cliente não existe."));
			return "falha";
		
		
		}
		else if (clienteDoBanco.validarSenha(this.getCliente().getSenha()))// se existir armazena na sessão e loga
		{
			FacesContext contexto = FacesContext.getCurrentInstance();
			SessaoMb sessao = (SessaoMb) contexto.getApplication().createValueBinding("#{sessaoMB}").getValue(contexto);
		
LINHA 33 ------>		sessao.setCliente(clienteDoBanco);	//armazena o  na sessão
		
			return "sucesso";// chama a pagina de home
		}
		else
		{
			FacesContext contexto = FacesContext.getCurrentInstance();
			contexto.addMessage("erroLogin", new FacesMessage("Senha inválida."));
			return "falha";
		}
	}
S

Você já testou se o objeto cliente esta sendo mesmo iniciado?

Porque se estiver seu contexo não está inicializando a sessão. Dá uma olhadinha nisso aí.

F

Sessao é null.

gisa_screen

eu resolvi , tudo por causa de uma letrinha #(sessaoMB) , e o meu bean está assim #(sessaoMb)… depois de tanto procurar o erro e postando aqui pude observar melhor, acabei encontrando…rs

valeu…

Criado 14 de junho de 2010
Ultima resposta 14 de jun. de 2010
Respostas 5
Participantes 3