Erro tanto na hor de cadastrar quanto na hora de cancelar

2 respostas
well

Pessoal boa noite… fiz um cadastro de clientes porem na hora de cadastrar e cancelar d erro… da um força ai galera… tenho quase certeza q é coisa boba…

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);
    
    }
    
    <a class="mention" href="/u/override">@Override</a>
    
    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;
    
    }
    
    <a class="mention" href="/u/override">@Override</a>
    
    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<Cliente> 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
    
    <em>/
    
    public class ClienteFace {
    
    //</em>********* 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…

2 Respostas

fredferrao

Comece postando no forum certo, ja é a segunda que tu posta aqui no off-topic.

La no Desenvolvimento Web acho que seria mais ideal.

well

Desculpa o vacilo… já mudei… obrigado pelo toque…

Criado 17 de julho de 2009
Ultima resposta 18 de jul. de 2009
Respostas 2
Participantes 2