Dúvida Servlet e Hibernate

Olá, estou com um problema que me parece meio estranho. Estou iniciando em java web, portanto isso pode ser bem básico.

Eu realizo uma consulta em um Main qualquer e tudo ocorre normal. Quando tento realizar a MESMA consulta via meu Servlet, dá problema.

Olhem só meus códigos.

 @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)    
           throws ServletException, IOException{   
        
        String resultado=null;
            
            PrintWriter out = response.getWriter();    
            String login = request.getParameter("login");    
            String password = request.getParameter("password");
            
            
            UsuarioImp imp = new UsuarioImp();
            
            Usuario usu = imp.procurar_(login);
            
            
            if(usu.getSenha().equals(password)){
                resultadoJSP = "/mainmenu.jsp?id=${login}";   
            }
            else{
                resultadoJSP = "/erro.jsp";
                JOptionPane.showMessageDialog(null,"Nao Autenticou");
            }
            
            
            RequestDispatcher rd = request.getRequestDispatcher(resultadoJSP);    
            rd.forward(request, response);
            
         }  

O erro

[code]javax.servlet.ServletException: Servlet execution threw an exception
root cause

java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.ejb.Ejb3Configuration
org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:55)
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:51)
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
br.paulo.comissao.Imp.Entity.initEmf(Entity.java:33)
br.paulo.comissao.Imp.Entity.getInstance(Entity.java:22)
br.paulo.comissao.Imp.UsuarioImp.procurar_(UsuarioImp.java:58)
br.paulo.comissao.servelet.LoginServlet.doPost(LoginServlet.java:43)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)[/code]

Obrigado pela atenção !

Posta o stack trace inteiro.

Se eu tivesse que arriscar diria que seu classpath ta errado. Provavelmente as libs do hibernate estão incorretas ou duplicadas (no servidor e dentro do projeto). Fala qual servidor você ta usando e também o conteúdo do diretório “WEB-INF/lib” da sua aplicação.

eu mudei para o VRaptor agora, mas não entendi uma coisa…

Meu controller é esse

@Resource
public class UsuarioController {

    private final UsuarioImp dao;
    private final Result result;
    private final Validator validator;
    
    public UsuarioController(UsuarioImp dao, Result result, Validator validator){
		this.dao = dao;
		this.result = result;
		this.validator = validator;
    }

    ...
}

Agora eu tenho uma dúvida cruel para mim, que para vocês deve ser absurda.
Em que momento o meu DAO é instanciado? Desculpa se é algo muito simples.

Obrigado.

Já achei a resposta, obrigado !