Erro ocorrido na minha aplicação

Boa tarde pessoal, o meu nome é nilo e estou desenvolvendo uma aplicação em jsf, mas ocorreu esse erro que segue descrito abaixo e eu não sei mais o que fazer.
Alguém poderia me ajudar ?

javax.el.PropertyNotFoundException: /questao/form.xhtml @12,89 value="#{ perguntaMbean.pergunta.descricao }": Target Unreachable, identifier ‘perguntaMbean’ resolved to null
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:97)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:91)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1023)
at javax.faces.component.UIInput.validate(UIInput.java:953)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1204)
at javax.faces.component.UIInput.processValidators(UIInput.java:693)
at javax.faces.component.UIForm.processValidators(UIForm.java:240)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1081)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1159)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:72)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:308)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Olá, qual o escopo do seu bean?

você declarou nele o atributo perguntaMbean e definiu seus get e set?

alias acabei de ver que ‘perguntaMbean’ é seu bean ,rs

você declarou ele como @ManagedBean?

abraço

Bem tenho uma classe PerguntaMbean que funciona assim

@ManagedBean(name=“perguntaMBean”)
@SessionScoped
public class PerguntaMBean {

private Pergunta pergunta;
private DataModel<Pergunta> perguntas;

public DataModel<Pergunta> getListarPegunta() {
	List<Pergunta> lista = new PerguntaDaoImpl().buscarTodos();
	perguntas = new ListDataModel<Pergunta>(lista);
	return perguntas;
}

public Pergunta getPergunta() {
	return pergunta;
}

public void setPergunta(Pergunta pergunta) {
	this.pergunta = pergunta;
}

public String prepararAddPergunta() {
	pergunta = new Pergunta();
	return "form";

}

public String prepararAlterarPergunta() {
	pergunta = (Pergunta) (perguntas.getRowData());
	return "form";

}

public String excluirPergunta() {

	Pergunta perguntemp = (Pergunta) (perguntas.getRowData());
	PerguntaDao dao = new PerguntaDaoImpl();
	dao.remover(perguntemp);
	return "index";

}
public String SavarPerguta() {		
	PerguntaDao dao = new PerguntaDaoImpl();
	dao.salvar(pergunta);
	return "index";

}
public String AlterarPerguta() {		
	PerguntaDao dao = new PerguntaDaoImpl();
	dao.update(pergunta);
	return "index";

}

}

Coloca os imports do MB e do SessionScoped.

voce nomeou seu managed bean como:
perguntaMBean

e está chamando no jsf:

perguntaMbean com o b minusculo,

tente colocar esse B maiusculo na chamada do jsf

Os imports eu coloque só não mandei no post agora.

tento o que eu escrevi ali?

Fabio você esta falando para eu renomear a classe PerguntaMbean colocando o b Maiúsculo?

Você pode ter importado as anotações erradas. -_-’’

Por isso pedi pelos imports.

não, no jsf mude isso:

 value="#{ perguntaMbean.pergunta.descricao }" 

para

 value="#{ perguntaMBean.pergunta.descricao }" 

fabio, fiz essa alteração, mas ainda continua com o mesmo erro.

o erro continua na mesma linha?

:S que estranho, 1 dos problemas era a nomeação do bean, nao tem a mesma chamada em outros pontos com o b minusculo?

alguem mais tem ideia do que pode ser?

eu tenho as seguintes classes na minha aplicação.

Classe pergunta:

package br.gera.dominio;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean(name=“pergunta”)
@SessionScoped
public class Pergunta {

private long id;

private String descricao;

private String[] alternativa;

private String resposta;


public Pergunta(){
	
}

public Pergunta( long id, String descr, String[] alterna, String resp){
	this.id = id;
	this.descricao = descr;
	this.alternativa = alterna;
	this.resposta =resp;
	
	
}



public long getId() {
	return id;
}

public void setId(long id) {
	this.id = id;
}

public String getDescricao() {
	return descricao;
}

public void setDescricao(String descricao) {
	this.descricao = descricao;
}

public String[] getAlternativa() {
	return alternativa;
}

public void setAlternativa(String[] alternativa) {
	this.alternativa = alternativa;
}

public String getResposta() {
	return resposta;
}

public void setResposta(String resposta) {
	this.resposta = resposta;
}

}

PerguntaDao:

package br.gera.Dao;

import java.util.List;

import br.gera.dominio.Pergunta;

public interface PerguntaDao {

List<Pergunta> buscarTodos();

List<Pergunta> buscarPorId(long id);

void salvar(Pergunta pergunta);

void remover(Pergunta pergunta);

void update(Pergunta pergunta);

}

uma classe perguntaDaoImpl:

package br.gera.Dao.impl;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.Transaction;

import br.gera.Dao.PerguntaDao;
import br.gera.dominio.Pergunta;
import br.gera.util.HibernateUtil;

public class PerguntaDaoImpl implements PerguntaDao {

@SuppressWarnings("unchecked")
public List<Pergunta> buscarTodos() {
	Session session = HibernateUtil.getSessionFactory().openSession();
	Transaction t = session.beginTransaction();

	List<Pergunta> lista = session.createQuery("from pergunta").list();
	t.commit();
	return lista;

}

@SuppressWarnings("unchecked")
public List<Pergunta> buscarPorId(long id) {
	Session session = HibernateUtil.getSessionFactory().openSession();
	return (List<Pergunta>) session.load(Pergunta.class, id);

}

public void salvar(Pergunta pergunta) {
	Session session = HibernateUtil.getSessionFactory().openSession();
	Transaction t = session.beginTransaction();
	session.save(pergunta);
	t.commit();

}

public void remover(Pergunta pergunta) {
	Session session = HibernateUtil.getSessionFactory().openSession();
	Transaction t = session.beginTransaction();
	session.delete(pergunta);
	t.commit();

}

public void update(Pergunta pergunta) {
	Session session = HibernateUtil.getSessionFactory().openSession();
	Transaction t = session.beginTransaction();
	session.update(pergunta);
	t.commit();

}

}

classe PerguntaMBean:

package br.gera.Mbean;

import java.util.List;

import javax.faces.bean.ManagedBean;

import javax.faces.bean.SessionScoped;

import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;

import br.gera.Dao.PerguntaDao;
import br.gera.Dao.impl.PerguntaDaoImpl;
import br.gera.dominio.Pergunta;

@ManagedBean(name=“perguntaMBean”)
@SessionScoped
public class PerguntaMBean {

private Pergunta pergunta;
private DataModel<Pergunta> perguntas;

public DataModel<Pergunta> getListarPegunta() {
	List<Pergunta> lista = new PerguntaDaoImpl().buscarTodos();
	perguntas = new ListDataModel<Pergunta>(lista);
	return perguntas;
}

public Pergunta getPergunta() {
	return pergunta;
}

public void setPergunta(Pergunta pergunta) {
	this.pergunta = pergunta;
}

public String prepararAddPergunta() {
	pergunta = new Pergunta();
	return "form";

}

public String prepararAlterarPergunta() {
	pergunta = (Pergunta) (perguntas.getRowData());
	return "form";

}

public String Excluir() {

	Pergunta perguntemp = (Pergunta) (perguntas.getRowData());
	PerguntaDao dao = new PerguntaDaoImpl();
	dao.remover(perguntemp);
	return "index";

}
public String Salvar() {		
	PerguntaDao dao = new PerguntaDaoImpl();
	dao.salvar(pergunta);
	return "index";

}
public String Alterar() {		
	PerguntaDao dao = new PerguntaDaoImpl();
	dao.update(pergunta);
	return "index";

}

}

hibernate.cfg.xml:

<?xml version="1.0" encoding="UTF-8"?> org.gjt.mm.mysql.Driver jdbc:mysql://127.0.0.1:3306/quiz root 123456 org.hibernate.dialect.MySQL5InnoDBDialect true true true create-drop
	<mapping resource="br/gera/dominio/Pergunta.hbm.xml" />
</session-factory>

Só para confirmar, pergunta é uma Entidade do sistema ou você precisa dela como um managedbean?

Caso ela seja a entidade por que não a declara com as anotações do hibernate diretamente?

bem eu consegui encontrar o erro que postei anteriormente e fico muito grato pelas dicas, pois ajudaram muito, mas agora apareceu outro erro que eu não consigo descifrar.

javax.el.PropertyNotFoundException: /questao/form.xhtml @13,51 value="#{ perguntaMBean.pergunta.descricao }": Target Unreachable, ‘pergunta’ returned null
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:97)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:91)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1023)
at javax.faces.component.UIInput.validate(UIInput.java:953)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1204)
at javax.faces.component.UIInput.processValidators(UIInput.java:693)
at javax.faces.component.UIForm.processValidators(UIForm.java:240)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1081)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1159)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:72)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:308)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Seu getPergunta faça if(pergunta == null) pergunta = new Pergunta(); return pergunta.