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 beanpackage 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;}
}
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";
}
}
}
<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>
<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>