Não consigo pegar o usuário logado
09/05/2011
0
javax.servlet.ServletException: org.apache.catalina.session.StandardSessionFacade cannot be cast to br.com.mosaicodigital.modelo.HttpSession root cause java.lang.ClassCastException: org.apache.catalina.session.StandardSessionFacade cannot be cast to br.com.mosaicodigital.modelo.HttpSession
Não sei o que fazer com essa classe. Essa classe tá aí, porque o eclipse reclamou e sugeriu criar
public class HttpSession { public Login getAttribute(String string) { //getSession().setAttribute("usuarioLogado", ()); return null; } }
Esse é o código que fiz e carreguei para pegar o usuário logado.
public FacesContext getFacesContext() { return FacesContext.getCurrentInstance(); } public HttpSession getSession() { return (HttpSession) getFacesContext().getExternalContext().getSession(false); } public List<Escola> findAll() { Login usuario = (Login) getSession().getAttribute("LoginControle"); Query query = getEntityManager().createQuery("select distinct esc from Escola esc ,Matricula mat" + " where mat.idescola = esc.idescola" + " and mat.idpessoa = " + usuario.getPessoa().getIdPessoa() + " and mat.situacao = 'A' order by esc.nome"); return (List<Escola>) query.getResultList(); }
Pjava
Posts
09/05/2011
Davi Costa
Tente adicionar esse jar ao seu projeto. Geralmente os servidores já deviam ter ele.
Vc tá usando qual servidor?.. O eclipse sugeriu somente criação de classe, ele não pediu para vc fazer nenhum import não?
Att Davi
10/05/2011
Pjava
import javax.servlet.http.HttpSession; e aí ele sugeriu criar essa classe.Eu não sei porque deu erro no Import. Eu dá o import com HTTP e não http.
10/05/2011
Davi Costa
servlet-api.jar
Att Davi
10/05/2011
Davi Costa
Att Davi
10/05/2011
Pjava
10/05/2011
Davi Costa
E coloca na sua pasta lib
Agoraassim se vc psquisar sobre Spring security não precisria ver isso, além de ser uma solução testada e na minha opnião a melhor nessa situação para java ela te dá alguns recursos a mais muito bons, e é fácil de usar
att Davi
10/05/2011
Pjava
javax.servlet.ServletException: Unresolved compilation problem: The method getSession() from the type ListaEscola refers to the missing type HttpSession root cause java.lang.Error: Unresolved compilation problem: The method getSession() from the type ListaEscola refers to the missing type HttpSession
Eu nunca fiz nada com login, nunca peguei usuário logado, essa é minha dúvida. Em delphi é bem diferente.
10/05/2011
Pjava
[code]public class ListaEscola {
private List<Escola> escola;
private EntityManager em;
public List<Escola> getEscola() {
return escola;
}
public void setEscola(List<Escola> escola) {
this.escola = escola;
}
public EntityManager getEm() {
return em;
}
public void setEm(EntityManager em) {
this.em = em;
}
protected EntityManager getEntityManager()
{
if (this.em == null) {
this.em = EntityManagerFactorySingleton.getInstance().createEntityManager();
}// throw new IllegalStateException("Erro");
return this.em;
}
/*public Session getSession() {
EntityManager entityManager;
return ((Session)entityManager.getDelegate());
}
public final Criteria createCriteriaExample(Entity example) {
Criteria executableCriteria = getSession().createCriteria(example.getClass());
return executableCriteria;
}*/
public FacesContext getFacesContext() {
return FacesContext.getCurrentInstance();
}
public HttpSession getSession() {
return (HttpSession) getFacesContext().getExternalContext().getSession(false);
}
public List<Escola> findAll() {
Login usuario = (Login) getSession().getAttribute("LoginControle");
Query query = getEntityManager().createQuery("select distinct esc from Escola esc ,Matricula mat" +
" where mat.idescola = esc.idescola" +
" and mat.idpessoa = " + usuario.getPessoa().getIdPessoa() +
" and mat.situacao = 'A' order by esc.nome");
return (List<Escola>) query.getResultList();
}
10/05/2011
Pjava
public class LoginDAO extends DAOGenerico<Login> { public LoginDAO(EntityManager em) { super(em); } @SuppressWarnings("unchecked") public List<Login> buscaLogin(String loginProcurado) { em.getTransaction().begin(); Query q = em.createQuery("from Login l where l.login = :loginProcurado"); q.setParameter("loginProcurado", loginProcurado); List<Login> listaLogin = q.getResultList(); em.getTransaction().commit(); return listaLogin; } }
10/05/2011
Davi Costa
Att Davi
10/05/2011
Pjava
10/05/2011
Dyego Carmo
vai evitar bastante dor de cabeca.
Clique aqui para fazer login e interagir na Comunidade :)