Erro de Criação de Classe Com Hibernate

10 respostas
Rudison

Classe Com Problema

package financeiro.web.filter;

import financeiro.util.HibernateUtil;
import javax.servlet.*;
import org.hibernate.SessionFactory;

public class ConexaoHibernateFilter implements Filter { <-- nao consegue achar o Filter em import.javax.servlet.*;

	private SessionFactory sf;

	public void init(FilterConfig config) throws ServletException { <-- o ServletException tambem nao é encontrado ele fica sublinhado de vermelho no eclipse
		this.sf = HibernateUtil.getSessionFactory();
	}

	public void doFilter(ServletRequest servletRequest,        <-- O ServletRequest e o Response, tambem nao sao encontrados ele fica sublinhado de vermelho no eclipse
			ServletResponse servletResponse, FilterChain chain)    <-- nem o Filter Chain
			throws ServletException {

		try {
			this.sf.getCurrentSession().beginTransaction();
			chain.doFilter(servletRequest, 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 ex) {
				ex.printStackTrace();
			}
			throw new ServletException(e);
		}
	}

	public void destroy() {
	}
}
==================================================================== Esse é hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">


<hibernate-configuration>
	<session-factory>		
			<property name="c3po.min_size">5</property>
			<property name="c3po.max_size">20</property>
			<property name="c3po.timeout">300</property>
			<property name="c3po.max_statements">50</property>
			<property name="c3po.idle_test_period">3000</property>
	
		<!-- Configurações de Debug -->
		<property name="show_sql">true</property>
		<property name="format_sql">true</property>
		<property name="generate_statistics">true</property>
		<property name="use_sql_comments">true</property>
	
	
		<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
		<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="connection.url">jdbc:mysql://localhost:3306/financeiro</property>
		<property name="connection.username">root</property>
		<property name="connection.password">root</property>
		<property name="current_session_context_class">thread</property>
		<property name="hibernate.hbm2ddl.auto">update</property>
		
		<mapping class="financeiro.usuario.Usuario"/>
		
		
	</session-factory>

</hibernate-configuration>
============================================================

Esse é o Web.xml

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> FinanceiroWeb FacesServlet FacesServlet javax.faces.webapp.FacesServlet 1 FacesServlet *.jsf javax.faces.PROJECT_STAGE Development index.html index.htm index.jsp conexaoFilter financeiro.web.filter.ConexaoHibernateFilter conexaoFilter *.jsf ===========================================================
Classe HibernateUtil.java

package financeiro.util;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;


public class HibernateUtil {

	private static final SessionFactory sessionFactory = buildSessionFactory();

	private static SessionFactory buildSessionFactory() {

		try {
			AnnotationConfiguration cfg = new AnnotationConfiguration();
			cfg.configure("hibernate.cfg.xml");
			return cfg.buildSessionFactory();

		} catch (Throwable e) {
			System.out
					.println("Criação Inicial do Objeto SessionFactory Falhou. Erro: "
							+ e);
			throw new ExceptionInInitializerError(e);
		}
	}

	public static SessionFactory getSessionFactory() {
		return sessionFactory;
	}
}
===============================================================

E os Jars do projeto

antlr-2.7.6.jar
commons-beanutils-1.8.3.jar
commons-colections-3.1.jar
commons-colections-3.2.1.jar
commons-digester3-3.2.jar
commons-logging-1.1.1.jar
dom4j-1.6.1.jar
hibernate3.jar
hibernate-jpa-2.0-api-1.0.0.final.jar
javassist-3.9.0.GA.jar
jsf-api.jar
jsf-impl.jar
jstl-1.2.jar
jta-1.1.jar
mysql-connector-java-5.1.7-bin.jar
slf4j-api-1.7.2.jar
slf4j-simple-1.7.2.jar

Bom Pessoal nao sei mais o que fazer adicioneis todos os jars, mas mesmo assim continua nao funcionando...

10 Respostas

Hebert_Coelho

E qual o problema?

Hebert_Coelho

A sim, quando postar um código coloque-o envolto por . Desse modo seu código ficará formatado.

Rodrigo_Sasaki

Olá, Rudison.

Só uma coisa, se for postar código, use as tags [ code][/code], fica muito mais legível.

Tem gente que nem vai ler seu post só por ver que você não usou as tags apropriadas.

Se tiver dúvidas sobre como postar, leia o nosso How To, lá tem uma série de dicas sobre como fazer isso corretamente, e o que fazer em diversas situações, fora isso tem também um link para as regras do fórum.

Rudison

Rodrigo Sasaki:
Olá, Rudison.

Só uma coisa, se for postar código, use as tags [ code][/code], fica muito mais legível.

Tem gente que nem vai ler seu post só por ver que você não usou as tags apropriadas.

Se tiver dúvidas sobre como postar, leia o nosso How To, lá tem uma série de dicas sobre como fazer isso corretamente, e o que fazer em diversas situações, fora isso tem também um link para as regras do fórum.

valeu cara pela dica eu nao sabia disso, agora que entendi…

Rudison

agora eu coloquei o codigo legivel, o problema é que eu crio a classe ConexaoHibernateFitler e no eclipse fica com erro em ServletException, ServletRequest, ServletResponse, nao deixa
implementar o Filter, como se nao estivesse achando, mas eu coloquei os jars e os imports.

Hebert_Coelho

agora eu coloquei o codigo legivel, o problema é que eu crio a classe ConexaoHibernateFitler e no eclipse fica com erro em ServletException, ServletRequest, ServletResponse, nao deixa
implementar o Filter, como se nao estivesse achando, mas eu coloquei os jars e os imports.Colocou o jar que tem o filter? [=

OBS.: a tag code também pode ser colocada no xml. mas não precisa editar lá não, o que importa é que você entendeu. [=

DaniloAndrade

se estiver usando o eclipse faz assim
clica com o botão direito no projeto vai ater a opção build path -> configure build Path na aba libraries clique em add libraries depois clique em server libraries e clique em avançar, na proxima tela clique no serve que vc esta usando, no meu caso aparece dois o tomcat 6 e 7, e dopois em finalizar

Rudison

DaniloAndrade:
se estiver usando o eclipse faz assim
clica com o botão direito no projeto vai ater a opção build path -> configure build Path na aba libraries clique em add libraries depois clique em server libraries e clique em avançar, na proxima tela clique no serve que vc esta usando, no meu caso aparece dois o tomcat 6 e 7, e dopois em finalizar

CARACA!! MUITO OBRIGADO!!! mas por que funcionou???

Hebert_Coelho

Rudison:
DaniloAndrade:
se estiver usando o eclipse faz assim
clica com o botão direito no projeto vai ater a opção build path -> configure build Path na aba libraries clique em add libraries depois clique em server libraries e clique em avançar, na proxima tela clique no serve que vc esta usando, no meu caso aparece dois o tomcat 6 e 7, e dopois em finalizar

CARACA!! MUITO OBRIGADO!!! mas por que funcionou???

Por que estava faltando a biblioteca que tinha o servlet.

Ao adicionar server libraries você está utilizando as bibliotecas que o servidor tem. [=

DaniloAndrade

o que acontece é que a interface filter faz parte da api de servlet, e os servidores de aplicação e os servlets container possuem essa biblioteca, e pra que as classes e interfaces da api sejam visiveis em seu projeto vc tem que adiciona-la ao classpath do seu projeto, o modo que eu passei pra vc é uma forma, mas vc pode copiar esse biblioteca e adicionar manualmente na pasta lib do web-inf.

agora isso que aconteceu com vc foi meio estranho porque geralmente o eclipse cria o projeto e ja adiciona a bibliotecas do serve que vc vai usar.

espero que ter explicado bem. e me corrijam se falei alguma asneira, rsrs

Criado 15 de fevereiro de 2013
Ultima resposta 15 de fev. de 2013
Respostas 10
Participantes 4