E então pessoal, cá estou eu novamente com mais dúvidas.
Criei um Dao que tem a função de salvar dados em duas tabelas. O problema é que preciso recuperar os dados que foram armazenados na sessão dentro deste Dao. O que estou querendo dizer é que preciso recuperar um objeto, na verdade, um atributo deste objeto que foi armazenado ao usuário iniciar a sessão.
Quando tento retomar o objeto através desta linha de comando:
prof = (Professor) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("usuario");
Dá uma exceção de que o objeto não foi encontrado JavaNullPointException
Eis a parte do código do DAO
//método para Salvar
public void salvar(ParametroAvaliacao parametros,Avaliacao avaliacao) throws DAOException, SQLException{
int avaliacaoId;
PreparedStatement ps = null;
Connection conn = null;
Professor prof = new Professor();
//DADOS DE AVALIACAO
if (avaliacao == null)
throw new DAOException("O valor passado não pode ser nulo");
try {
//RECUPERANDO O OBJETO DA SESSÃO
prof = (Professor) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("usuario");
//INSERINDO VALORES PARA A TABELA AVALIAÇÃO
String SQL01 = "insert into avaliacao (avaliacaoid,professorid,descricao) values (0,?,?)";
conn = this.conn;
ps = conn.prepareStatement(SQL01);
ps.setInt(1, prof.getId());//NESTA LINHA DÁ ERRO DIZENDO QUE O OBJETO É NULO
ps.setString(2, avaliacao.getDescricao());
ps.executeUpdate();
SE PUDEREM ME AJUDAR