Classe serializável(Erro)

Boa tarde galera, blz?
Seguinte to estudando um projeto envolvendo javaweb, com jsf+primefaces. To usando o apache tomcat 7. O problema está acontecendo ao iniciar o serviço do apache pra depois testar minha aplicação, no qual o erro que identifiquei foi o seguinte:

fev 25, 2016 2:42:56 PM org.apache.catalina.session.StandardSession writeObject
ADVERTÊNCIA: Cannot serialize session attribute contatoController for session 707B3CF6A468012EFA4220B84449EB6B
java.io.NotSerializableException: Bean.ContatoBean

A minha classe ContatoBean é a seguinte:

public class ContatoBean implements Serializable{
    private int id;
    private String nome;
    private String endereco;
    private String cidade;
    private String uf;
    private String telefone;
    private String celular;
    private String email;

    public int getId() {
        return id;
    }

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

    public String getNome() {
        return nome;
    }

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

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    public String getCidade() {
        return cidade;
    }

    public void setCidade(String cidade) {
        this.cidade = cidade;
    }

    public String getUf() {
        return uf;
    }

    public void setUf(String uf) {
        this.uf = uf;
    }

    public String getTelefone() {
        return telefone;
    }

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

    public String getCelular() {
        return celular;
    }

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

    public String getEmail() {
        return email;
    }

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

Mesmo eu retirando o “implements serializable” ele continua dando erro, alguem sabe o que poderia ser?

Onde está o “contatoController”? É outra classe ou o alias dado no XML de mapeamento do faces?

é essa aqui:

@ManagedBean
@SessionScoped
public class ContatoController implements Serializable{
    private ContatoBean contatoBean;
    private DataModel listaContatos;
    
    public ContatoController(){
        contatoBean = new ContatoBean();
    }

    public ContatoBean getContatoBean() {
        return contatoBean;
    }

    public void setContatoBean(ContatoBean contatoBean) {
        this.contatoBean = contatoBean;
    }

    public DataModel getListaContatos() {
        ContatoDao cd = new ContatoDao();
        listaContatos = new ListDataModel(cd.listarContato());
        return listaContatos;
    }

    public void setListaContatos(DataModel listaContatos) {
        this.listaContatos = listaContatos;
    }
    
    public void novoContato(){
        contatoBean = new ContatoBean();
    }
    
    public String salvarContato(){
        ContatoDao cd = new ContatoDao();
        if(cd.salvarContato(contatoBean) == true){
            FacesContext contexto = FacesContext.getCurrentInstance();
            contexto.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Cadastrado com sucesso",""));
            return "listarContato";
        }
        return "erro";
    }
    
    public String editarContato(){
        ContatoDao cd = new ContatoDao();
        if(cd.editarContato(contatoBean) == true){
            FacesContext contexto = FacesContext.getCurrentInstance();
            contexto.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Editado com sucesso",""));
            return "listarContato";
        }
        return "erro";
    }
    
    public String excluirContato(){
        ContatoDao cd = new ContatoDao();
        if(cd.excluirContato(contatoBean) == true){
            FacesContext contexto = FacesContext.getCurrentInstance();
            contexto.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Excluído com sucesso",""));
            return "listarContato";
        }
        return "erro";
    }
    
}

Adiciona o serialVersionUID na sua classe.

Em qual das classes Fabio?

ContatoBean