ConexaoHibernateFilter nao funciona

Boa Tarde a Todos!
Pessoal estou desenvolvendo um sistema do livro “Programação Java para Web” porém travei na classe chamada ConexaoHibernateFilter que implementa Filter.

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

import org.hibernate.SessionFactory;

import financeiro.util.HibernateUtil;

public class ConexaoHibernateFilter implements Filter {

private SessionFactory sf;

public void init(FilterConfig config) throws ServletException {
this.sf = HibernateUtil.getSessionFactory();
System.out.println(“ConexaoHibernateFilter”);
}

public void destroy() {
}

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws ServletException {

try {

this.sf.getCurrentSession().beginTransaction();

chain.doFilter(servletRequest, servletResponse);

this.sf.getCurrentSession().getTransaction().commit();
this.sf.getCurrentSession().close();

} catch (Throwable ex) {
try {
if (this.sf.getCurrentSession().getTransaction().isActive()) {
this.sf.getCurrentSession().getTransaction().rollback();
}
} catch (Throwable t) {
t.printStackTrace();
}
throw new ServletException(ex);
}
}
}

Erro do Console

HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: java.lang.UnsupportedOperationException: The user must supply a JDBC connection
financeiro.web.filter.ConexaoHibernateFilter.doFilter(ConexaoHibernateFilter.java:45)

root cause

java.lang.UnsupportedOperationException: The user must supply a JDBC connection
org.hibernate.connection.UserSuppliedConnectionProvider.getConnection(UserSuppliedConnectionProvider.java:54)
org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:160)
org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:81)
org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1473)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:345)
$Proxy10.beginTransaction(Unknown Source)
financeiro.web.filter.ConexaoHibernateFilter.doFilter(ConexaoHibernateFilter.java:30)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.35 logs.


Apache Tomcat/6.0.35

Preciso salvar um simples cadastro de usuário mas pelo pouco que eu entendo minha aplicação parece que não está executando essa classe ConexaoHibernateFilter.

UsuarioDAOHibernate

package financeiro.usuario;

import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;

public class UsuarioDAOHibernate implements UsuarioDAO {

private Session session;
public void setSession(Session session){
this.session = session;

}

@Override
public void salvar(Usuario usuario) {

this.session.save(usuario);
// TODO Auto-generated method stub

}

@Override
public void atualizar(Usuario usuario) {

this.session.update(usuario);
// TODO Auto-generated method stub

}

@Override
public void excluir(Usuario usuario) {

this.session.delete(usuario);
// TODO Auto-generated method stub

}

@Override
public Usuario carregar(Integer codigo) {
// TODO Auto-generated method stub
return (Usuario) this.session.get(Usuario.class, codigo);
}

@Override
public Usuario buscaPorLogin(String login) {
// TODO Auto-generated method stub
String hql = "select u from Usuario u where u.login = :login ";
Query consulta = this.session.createQuery(hql);
consulta.setString(“login”, login);
return (Usuario) consulta.uniqueResult();
}

@Override
public List listar() {
// TODO Auto-generated method stub
return this.session.createCriteria(Usuario.class).list();
}

}

web.xml

<?xml version="1.0" encoding="UTF-8"?> FinanceiroWeb index.html index.htm index.jsp default.html default.htm default.jsp Faces Servlet javax.faces.webapp.FacesServlet 1 Faces Servlet *.jsf conexaoFilter financeiro.web.filter.ConexaoHibernateFilter conexaoFilter *.jsf

Desde ja agradeço pela ajuda.

Onde você está configurando a conexão JBDC?

Esta no hibernate.cfg

<?xml version="1.0" encoding="UTF-8"?> org.hibernate.dialect.MySQL5InnoDBDialect thread update
  <mapping class="financeiro.usuario.Usuario"/>