Hibernate + Filter

Pessoal estou com o seguinte problema: estou tentando utilizar o hibernate com um filtro, minha classe filter está dessa forma…

Filter

package com.kurtphpr.sistema.util;

import java.io.IOException;


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 com.kurtphpr.sistema.vendas.HibernateUtil;

public class ConexaoHibernateFilter implements Filter{
	
	private SessionFactory sf;
	
	@Override
	public void destroy() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void doFilter(ServletRequest servletFilter, ServletResponse servletResponse,
			FilterChain chain) throws IOException, ServletException {
		try {
			this.sf.getCurrentSession().beginTransaction();
			chain.doFilter(servletFilter, servletResponse);
			this.sf.getCurrentSession().getTransaction().commit();
			this.sf.getCurrentSession().close();
			
		} catch (Throwable e) {
			try {
				if(this.sf.getCurrentSession().getTransaction().isActive()){
					this.sf.getCurrentSession().getTransaction().rollback();
				}
			} catch (Throwable e2) {
				e2.printStackTrace();
			}
			throw new ServletException();
		}
	}

	@Override
	public void init(FilterConfig config) throws ServletException {
		System.out.println("1");
		this.sf = HibernateUtil.getSession();
		
	}
}

E eu creio que mapiei o web.xml corretamente

<filter>
  <filter-name>conexaoFilter</filter-name>
  <filter-class>com.kurtphpr.sistema.util.ConexaoHibernateFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>conexaoFilter</filter-name>
  <url-pattern>*.jsf</url-pattern>
</filter-mapping>

Mas estou tendo essa exceção

[color=red]
Mar 28, 2013 10:32:10 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path [/Vendas] threw exception [null] with root cause
javax.servlet.ServletException
at com.kurtphpr.sistema.util.ConexaoHibernateFilter.doFilter(ConexaoHibernateFilter.java:42)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
[/color]

Ele entra no try do doFilter mas não da certo quando vai executar essa linha de código:

chain.doFilter(servletFilter, servletResponse);

POR FAVOR ME AJUDEM :cry: