Problema com JSF e JPA - Não consigo persistir a entidade e nem passar os dados do form para entidad

Galera é o seguinte, não estou conseguindo passar parametros para minha entidade com JSF. Alguém sabe o que eu etou fazendo de errado?

outra coisa se eu for debugando mesmo com um cliente ficticio quando chega na hora de persistir a entidade da esse erro:
“Error in allocating a connection. Cause: Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource”

tem que setar alguma coisa na class path? se tiver alguem sabe o que e como?


########### tela de cadastro ###########


<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                template="./../index.xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns="http://www.w3.org/1999/xhtml"
                xmlns:c="http://java.sun.com/jsp/jstl/core"
                xmlns:f="http://java.sun.com/jsf/core">

    <ui:define name="content">
            <h:form>
                                <h:outputText value="#{msg.Nome} "/>
                                <h:inputText value="#{ClienteMB.selected.nome}"/>
                                <h:outputText value="#{msg.Sobrenome} "/>
                                <h:inputText value="#{ClienteMB.selected.sobrenome}"/>
                                <h:commandButton action="#{ClienteMB.save}" value="Criar" type="submit"/>
             </h:form>
    </ui:define>
</ui:composition>

########### ClienteMB ###########


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controle;

import eao.ClienteEAOLocal;
import eao.EnderecoEAOLocal;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;
import persistencia.Cliente;

@ManagedBean(name = "ClienteMB")
@RequestScoped
public class ClienteMB {
    @EJB
    private ClienteEAOLocal clienteEAO;
    private Cliente cliente;

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

    public Cliente getSelected() {
        if (cliente == null) {
            cliente = new Cliente();
        }
        return cliente;
    }

    public void adicionar() {
       clienteEAO.adicionar(getSelected());
    }

   }

########### ClienteEAO ###########


package eao;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import persistencia.Cliente;

@Stateless
public class ClienteEAO implements ClienteEAOLocal {
    @PersistenceContext(unitName="Imovel-ejbPU")
    EntityManager em;

    @Override
    public void adicionar(Cliente cliente) {
        em.persist(cliente);
    }
}

########### Cliente ###########



@Entity
@Table(name = "cliente")

public class Cliente implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "ID_CLIENTE")
    private Integer idCliente;
    @Column(name = "NOME")
    private String nome;
    @Column(name = "SOBRENOME")
    private String sobrenome;


----- getters e setters ----