Problema com Menaged Bean [Resolvido]

4 respostas
M

Boa tarde, estou começando a aprender java e jsf agora e estou com um problema pesquisei aqui no forum a respeito dos Menaged Beans porém não encontrei uma solução para meu problema, não sei se porque não soube procurar ou porque não tem mesmo, mas o problema é o seguinte, esta aparecendo erro 500 de null pointer exception....e não sei o que pode ser.

Meu bean
package br.com.rso.bean;
import java.io.*;

public class Cliente implements Serializable {
    private String nome;
    private String cpf;
    private int idade;

    public Cliente(){}

    public void setNome(String nome){this.nome = nome;}
    public void setCpf(String cpf){this.cpf = cpf;}
    public void setIdade(int idade){this.idade = idade;}
    public String getNome(){return this.nome;}
    public String getCpf(){return this.cpf;}
    public int getIdade(){return this.idade;}
}
Meu Managed Bean
package br.com.rso.mb;
import java.io.*;
import br.com.rso.bean.Cliente;
import br.com.rso.dao.*;
import java.sql.SQLException;

public class ClienteMB implements Serializable{
        Cliente cliente = new Cliente();

    public ClienteMB(){}

    public void setCliente(Cliente cliente){this.cliente = cliente;}
    public Cliente getCliente(){return cliente;}


    public String salvar() throws SQLException{
        ClienteDao cliDao = new ClienteDao();
        try{
            cliDao.gravarCliente(cliente);
            return "cadastraCliente";
        }catch(SQLException e){
            e.printStackTrace();
            return "paginaErro";
        }
    }
}
Faces Config
<managed-bean>
        <managed-bean-name>ClienteMB</managed-bean-name>
        <managed-bean-class>br.com.rso.mb.ClienteMB</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>

    <navigation-rule>
        <navigation-case>
            <from-outcome>cadastraCliente</from-outcome>
            <to-view-id>/cadastraCliente.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>ListarClientes</from-outcome>
            <to-view-id>listarClientes.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
view
<f:view>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Cadastro de Clientes</title>
    </head>
    <body><h:form>
        <h:panelGrid columns="3">
            <h:outputText value="Nome:"/>
            <h:inputText id="nome" value="#{ClienteMB.cliente.nome}" required="true" requiredMessage="Preenchimento Obrigatório"/>
            <h:message for="nome"/>
            <h:outputText value="CPF:" />
            <h:inputText id="cpf" value="#{ClienteMB.cliente.cpf}" required="true" requiredMessage="Preenchimento Obrigatório"/>
            <h:message for="cpf"/>
            <h:outputText value="Idade:"/>
            <h:inputText id="idade" value="#{ClienteMB.cliente.idade}" required="true" requiredMessage="Preenchimento Obrigatório"/>
            <h:message for="idade"/>
            <h:commandButton value="Cadastrar" action="#{ClienteMB.salvar}"/>
        </h:panelGrid>
        </h:form>
            
    </body>
</html>
</f:view>

4 Respostas

M

Pagina do erro…

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: #{ClienteMB.salvar}: java.lang.NullPointerException
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)


root cause 

javax.faces.FacesException: #{ClienteMB.salvar}: java.lang.NullPointerException
	com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:107)
	javax.faces.component.UICommand.broadcast(UICommand.java:383)
	org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:329)
	org.ajax4jsf.component.AjaxViewRoot.broadcastEventsForPhase(AjaxViewRoot.java:304)
	org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:261)
	org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:474)
	com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)


root cause 

javax.faces.el.EvaluationException: java.lang.NullPointerException
	javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:91)
	com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
	javax.faces.component.UICommand.broadcast(UICommand.java:383)
	org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:329)
	org.ajax4jsf.component.AjaxViewRoot.broadcastEventsForPhase(AjaxViewRoot.java:304)
	org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:261)
	org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:474)
	com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)


root cause 

java.lang.NullPointerException
	br.com.rso.dao.ClienteDao.gravarCliente(ClienteDao.java:23)
	br.com.rso.mb.ClienteMB.salvar(ClienteMB.java:41)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:597)
	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:77)
	com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
	javax.faces.component.UICommand.broadcast(UICommand.java:383)
	org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:329)
	org.ajax4jsf.component.AjaxViewRoot.broadcastEventsForPhase(AjaxViewRoot.java:304)
	org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:261)
	org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:474)
	com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)


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

Faz assim:

public ClienteMB(){
Cliente cliente = new Cliente();
}
M

raf4ever:
Faz assim:

public ClienteMB(){ Cliente cliente = new Cliente(); }

Bom dia raf4ever…Então continua com o mesmo erro…o que mais pode ser?

M

Já havia resolvido a algum tempo mas tinha esquecido de postar, acredito que o erro era realmente o citado acima porém não consegui rodar antes de reinstalar o netbeans…não sei o que tem a ver, só sei que funcionou depois disso…hehehehe

Obrigado a todos !!!

Criado 21 de fevereiro de 2011
Ultima resposta 5 de abr. de 2011
Respostas 4
Participantes 2