[Resolvido]Erro na hora de cancelar e cadastrar clientes... quem puder ajudar

Pessoal boa noite… fiz um cadastro de clientes porem na hora de cadastrar e cancelar da erro… da um força ai galera…

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: /cadastrarclientes.jsp(25,24) ‘#{ClienteFace.selectedCliente.codigo}’ Target Unreachable, ‘selectedCliente’ returned null
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)

root cause

org.apache.jasper.el.JspPropertyNotFoundException: /cadastrarclientes.jsp(25,24) ‘#{ClienteFace.selectedCliente.codigo}’ Target Unreachable, ‘selectedCliente’ returned null
org.apache.jasper.el.JspValueExpression.getType(JspValueExpression.java:61)
com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:81)
javax.faces.component.UIInput.getConvertedValue(UIInput.java:934)
javax.faces.component.UIInput.validate(UIInput.java:860)
javax.faces.component.UIInput.executeValidate(UIInput.java:1065)
javax.faces.component.UIInput.processValidators(UIInput.java:666)
javax.faces.component.UIForm.processValidators(UIForm.java:229)
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1033)
javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:662)
com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:100)
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)

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


Apache Tomcat/6.0.18


Cliente.java

package projetoPousadas.entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
*

  • @author Rafael
    */
    @Entity
    @Table(name=“clientes”)
    public class Cliente implements java.io.Serializable{
    private static final long serialVersionUID = 1L;

@Id
@Column(name=“codigo”,nullable=false)
private Integer codigo;

@Column(name=“nome”,nullable=false)
private String nome;

@Column(name=“sobrenome”,nullable=false)
private String sobrenome;

@Column(name=“telefone”,nullable=false)
private Integer telefone;

@Column(name=“celular”,nullable=false)
private Integer celular;

@Column(name=“email”,nullable=false)
private String email;

@Column(name=“login”,nullable=false)
private String login;

@Column(name=“senha”,nullable=false)
private String senha;

public Cliente(){
}

public Integer getCelular() {
return celular;
}

public void setCelular(Integer celular) {
this.celular = celular;
}

public Integer getCodigo() {
return codigo;
}

public void setCodigo(Integer codigo) {
this.codigo = codigo;
}

public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email;
}

public String getLogin() {
return login;
}

public void setLogin(String login) {
this.login = login;
}

public String getNome() {
return nome;
}

public void setNome(String nome) {
this.nome = nome;
}

public String getSenha() {
return senha;
}

public void setSenha(String senha) {
this.senha = senha;
}

public String getSobrenome() {
return sobrenome;
}

public void setSobrenome(String sobrenome) {
this.sobrenome = sobrenome;
}

public Integer getTelefone() {
return telefone;
}

public void setTelefone(Integer telefone) {
this.telefone = telefone;
}

public boolean validarSenha(String senhaParaTeste){
return senhaParaTeste.equals(senha);
}

@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Cliente other = (Cliente) obj;
if (this.codigo != other.codigo && (this.codigo == null || !this.codigo.equals(other.codigo))) {
return false;
}
return true;
}

@Override
public int hashCode() {
int hash = 7;
hash = 37 * hash + (this.codigo != null ? this.codigo.hashCode() : 0);
return hash;
}

}


GenericDao

package projetoPousadas.dao;

import java.io.Serializable;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import projetoPousadas.entity.HibernateUtil;

/**
*

  • @author Rafael
    */
    public abstract class GenericDAO {
    private static final long serialVesionUID = 1L;

public GenericDAO(){
}

protected Session getSession(){
return HibernateUtil.getInstance().getSession();
}

protected void salvarAlterarPojo(Serializable Pojo){
Session ses = getSession();
ses.saveOrUpdate(Pojo);
ses.getTransaction().commit();
ses.close();
}

protected T getPojo(Class preocurarClass, Serializable key){
Session ses = getSession();
Serializable toReturn = (Serializable) ses.get(preocurarClass, key);
ses.getTransaction().commit();
ses.close();
return (T) toReturn;
}

protected void removerPojo(Serializable PojoParaRemover){
Session ses = getSession();
ses.delete(PojoParaRemover);
ses.getTransaction().commit();
ses.close();

}

protected Serializable getPurePojo(String query, Object… params) {
Session ses = getSession();
Query qr = ses.createQuery(query);
for (int i = 1; i <= params.length; i++) {
qr.setParameter(1, params [i-1]);
}
Object toReturn = qr.uniqueResult();
ses.getTransaction().commit();
ses.close();
return (Serializable) toReturn;
}

protected List getPureList(Class classToCast,String query, Object… params) {
Session ses = getSession();
Query qr = ses.createQuery(query);
for (int i = 1; i <= params.length; i++) {
qr.setParameter(1, params [i-1]);
}
List toReturn = qr.list();
ses.getTransaction().commit();
ses.close();
return toReturn;
}
}


ClienteDAO

package projetoPousadas.dao;

import java.util.List;
import org.hibernate.Session;
import projetoPousadas.entity.Cliente;

/**
*

  • @author Rafael
    */
    public class ClienteDAO extends GenericDAO {
    private static final long serialVesionUID = 1L;
    private Session session;

public ClienteDAO(){
}

public int addCliente(Cliente clien){
salvarAlterarPojo(clien);
return clien.getCodigo();
}

public void removerCliente(Cliente clien){
removerPojo(clien);
}

public void alterarCliente(Cliente clien){
salvarAlterarPojo(clien);
}

public Cliente getCliente(int clienteCodigo){
Cliente clien = getPojo(Cliente.class, clienteCodigo);
return clien;
}

public List getClientes(){
return getPureList(Cliente.class, “from Cliente clien”);
}

public boolean novoValidadordeloginesenha(String login, String senha){
return getPurePojo(“from Clientes clien where clien.login = ?1 and clien.senha = ?2”, login, senha) !=null;
}

}


ClinteFace

package projetoPousada.faces;

import java.util.List;
import projetoPousadas.dao.ClienteDAO;
import projetoPousadas.entity.Cliente;

/**
*

  • @author Rafael
    /
    public class ClienteFace {
    //
    ********* listando dados do cliente************
    private List cachedClientes = null;
    private ClienteDAO clienteDAO = new ClienteDAO();
    private Cliente selectedCliente;

/** Creates a new instance of ClienteFace */
public ClienteFace() {
}

public List getCachedClientes() {
if (cachedClientes == null){
cachedClientes = clienteDAO.getClientes();
}
return cachedClientes;
}

//********** Adicionar clientes ***************

public String addCliente(){
selectedCliente = new Cliente();
return “irParaAddNovoCliente”;
}

public String removerCliente(){
clienteDAO.removerCliente(selectedCliente);
cachedClientes = null;
return “irParaListaClientes”;
}

public Cliente getSelectedCliente(){
return selectedCliente;
}

public String terminaAddCliente(){
clienteDAO.addCliente(selectedCliente);
cachedClientes = null;
return “irParaListaClientes”;
}

public ClienteDAO getClienteDAO() {
return clienteDAO;
}

public void setClienteDAO(ClienteDAO clienteDAO) {
this.clienteDAO = clienteDAO;
}

public void setSelectedCliente(Cliente selectedCliente) {
this.selectedCliente = selectedCliente;
}

}


cadastrarcliente.jsp

<%@page contentType=“text/html”%>
<%@page pageEncoding=“UTF-8”%>

<%@taglib prefix=“f” uri=“http://java.sun.com/jsf/core”%>
<%@taglib prefix=“h” uri=“http://java.sun.com/jsf/html”%>

<%–
This file is an entry point for JavaServer Faces application.
–%>
<f:view>

Cadastro de Clientes

Codigo:
Nome:
Sobrenome:
Telefone:
Celular:
Email:
Login:
Senha:

Agradeço a ajuda e desculpa incomodo…

Ah!!! Quanto texto sem usar as tags do fórum! Dá até preguiça de responder.

Estranho já postei outras vezes e a tag entrava automatico… como faço para por??? vlw

Parece que você quer preencher os atributos de selectedCliente, mas não instanciou ele antes.

 private Cliente selectedCliente; // não deveria começar com new Cliente() ?

É isso ai mesmo… obrigado agora ficou assim:

private List cachedClientes = null;
private ClienteDAO clienteDAO = new ClienteDAO();
private Cliente selectedCliente = new Cliente();