galera é o seguinte
tenho um usuario esse usuário pode ter varios perfil
quero exibir o nome desse perfil e grava-lo em uma session
tenho uma classe usuario q recebe o nome e perfil id
outra classe q se chama perfil e nela tenho id e nome do perfil
e quero q la na minha classe DAO
quando tentar fazer o login q ele carregue o nome do perfil atravez da agregação
abaixo mando algumas de minhas classes
classe carregar po idpublic Perfil carregaPorId(int id) throws Exception{
PreparedStatement pst;
ResultSet rs;
String sql = "SELECT * FROM perfil WHERE id=?";
pst = conn.prepareStatement(sql);
pst.setInt(1, id);
rs = pst.executeQuery();
Perfil p = new Perfil();
if (rs.next()) {
p.setId(rs.getInt("id"));
p.setNome(rs.getString("nome"));
}
return p;
}
metodo logar
public Usuario logar(Usuario usuario) throws Exception {
Perfil p = new Perfil();
PerfilDAO perfil = new PerfilDAO();
Statement stm;
ResultSet rs;
stm = conn.createStatement();
String sql = "SELECT * FROM usuario WHERE login='" + usuario.getLogin() + "' "
+ "";
rs = stm.executeQuery(sql);
if (rs.next()) {
if (usuario.getSenha().equals(rs.getString("senha"))) {
usuario.setId(rs.getInt("id"));
usuario.setPerfilId(rs.getInt("pefil_id"));
usuario.setPerfil(perfil.carregaPorId(rs.getInt("pefil_id")));
usuario.setNome(rs.getString("nome"));
usuario.setLogin(rs.getString("login"));
usuario.setSenha(rs.getString("senha"));
return usuario;
}
}
return usuario;
}
tento chamar ela aki
<%@page import="modelo.Usuario"%>
<%
try {
Usuario usuario = (Usuario) session.getAttribute("usuario");
out.print(usuario.getPerfil());
out.print(usuario.getNome());
} catch (Exception erro) {
out.print("<script language='javascript' type='text/javascript'>");
out.print(" window.location = 'controle.jsp?acao=login';");
out.print("</script>");
}
%>
quanto tento efetuar o login da o seguinte erro
NullPointerException