Boujour a tous j'utilise hibernate3 dans un projet de site web dynamique et j'ai une erreur dans la classe HibernateUtil qui m'empeche d'acceder a la base de donnees: " Configuration org.hibernate.cfg.Configuration.configure() throws HibernateException Note: This element has no attached source and the Javadoc could not be found in the attached Javadoc." malgrès que j'ai ajouter javadoc location au projet et à tous les jar voici son contenu
Citation :
package com.jmd.test.service; import org.hibernate.*; import org.hibernate.cfg.*; import org.hibernate.Session; public class HibernateUtil {
private static final SessionFactory sessionFactory ; static { try { // Crée la SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory(); } catch (HibernateException ex) { throw new RuntimeException("Problème de configuration : " + ex.getMessage(), ex); } } @SuppressWarnings("rawtypes" ) public static final ThreadLocal session = new ThreadLocal(); @SuppressWarnings("unchecked" ) public static Session currentSession() throws HibernateException { Session s = (Session) session.get(); // Ouvre une nouvelle Session, si ce Thread n'en a aucune if (s == null) { s = sessionFactory.openSession(); session.set(s); } return s; } @SuppressWarnings("unchecked" ) public static void closeSession() throws HibernateException { Session s = (Session) session.get(); session.set(null); if (s != null) s.close(); } public static SessionFactory getSessionFactory() { return sessionFactory; } }
voici le fichier Hibernate.cfg.xml :
Citation :
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
@SuppressWarnings("rawtypes" ) public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("Contrôle des identifiants de connexion." );
//On contrôle l'existence de la session HttpSession sess = ((HttpServletRequest)request).getSession(); if(sess.getAttribute("login" ) != null && sess.getAttribute("password" ) != null){ //Si on a des données en session, c'est qu'on est connecté chain.doFilter(request, response); } else{
//On vérifie ensuite si on a pas de formulaire de connexion validé if(login != null && password != null){ //Si on a des données en session, c'est qu'on est connecté System.out.println("Il y a des données : " + login + " - " + password + " !" );
Session session = HibernateUtil.currentSession(); Transaction tx=session.beginTransaction(); java.util.List list = (List) session.createQuery("select prenom from Utilisateur where email="+login); Iterator it = list.iterator(); while(it.hasNext()) { Utilisateur contact = (Utilisateur)it.next(); System.out.println(contact.getNom()); } tx.commit(); HibernateUtil.closeSession();
chain.doFilter(request, response);
} else{ //Sinon, on retourne à la page de connexion System.out.println("Pas de session, on oriente donc vers la page de connexion." ); request.getRequestDispatcher("index.jsp" ).forward(request, response); } } }
Marsh Posté le 26-04-2011 à 17:47:50
Boujour a tous
j'utilise hibernate3 dans un projet de site web dynamique et j'ai une erreur dans la classe HibernateUtil qui m'empeche d'acceder a la base de donnees:
" Configuration org.hibernate.cfg.Configuration.configure() throws HibernateException
Note: This element has no attached source and the Javadoc could not be found in the attached Javadoc." malgrès que j'ai ajouter javadoc location au projet et à tous les jar
voici son contenu
package com.jmd.test.service;
import org.hibernate.*;
import org.hibernate.cfg.*;
import org.hibernate.Session;
public class HibernateUtil {
private static final SessionFactory sessionFactory ;
static {
try {
// Crée la SessionFactory
sessionFactory = new Configuration().configure().buildSessionFactory();
} catch (HibernateException ex) {
throw new RuntimeException("Problème de configuration : "
+ ex.getMessage(), ex);
}
}
@SuppressWarnings("rawtypes" )
public static final ThreadLocal session = new ThreadLocal();
@SuppressWarnings("unchecked" )
public static Session currentSession()
throws HibernateException {
Session s = (Session) session.get();
// Ouvre une nouvelle Session, si ce Thread n'en a aucune
if (s == null) {
s = sessionFactory.openSession();
session.set(s);
}
return s;
}
@SuppressWarnings("unchecked" )
public static void closeSession()
throws HibernateException {
Session s = (Session) session.get();
session.set(null);
if (s != null)
s.close();
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
voici le fichier Hibernate.cfg.xml :
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<hibernate-configuration>
<session-factory >
<!-- local connection properties -->
<property name="hibernate.connection.url">jdbc:mysql://127.0.0.1/p2m</property>
<property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"></property>
<!-- property name="hibernate.connection.pool_size"></property -->
<!-- dialect for DB2 -->
<property name="dialect">org.hibernate.dialect.DB2Dialect</property>
<property name="hibernate.show_sql">false</property>
<property name="hibernate.use_outer_join">true</property>
<property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
<property name="jta.UserTransaction">java:comp/UserTransaction</property>
<mapping resource="Points.hbm.xml"/>
<mapping resource="Userpoints.hbm.xml"/>
<mapping resource="Utilisateur.hbm.xml"/>
</session-factory>
</hibernate-configuration>
et le filter qui utilise HibernateUtil :
import java.util.*;
import org.hibernate.*;
import com.jmd.test.hibernate.*;
import com.jmd.test.service.*;
import org.hibernate.Session;
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 javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
public class FilterLogin implements Filter{
@SuppressWarnings("unused" )
private FilterConfig config;
public void destroy() { }
@SuppressWarnings("rawtypes" )
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
System.out.println("Contrôle des identifiants de connexion." );
//On contrôle l'existence de la session
HttpSession sess = ((HttpServletRequest)request).getSession();
if(sess.getAttribute("login" ) != null && sess.getAttribute("password" ) != null){
//Si on a des données en session, c'est qu'on est connecté
chain.doFilter(request, response);
}
else{
String login = request.getParameter("login" );
String password = request.getParameter("motdepasse" );
//On vérifie ensuite si on a pas de formulaire de connexion validé
if(login != null && password != null){
//Si on a des données en session, c'est qu'on est connecté
System.out.println("Il y a des données : " + login + " - " + password + " !" );
Session session = HibernateUtil.currentSession();
Transaction tx=session.beginTransaction();
java.util.List list = (List) session.createQuery("select prenom from Utilisateur where email="+login);
Iterator it = list.iterator();
while(it.hasNext())
{
Utilisateur contact = (Utilisateur)it.next();
System.out.println(contact.getNom());
}
tx.commit();
HibernateUtil.closeSession();
chain.doFilter(request, response);
}
else{
//Sinon, on retourne à la page de connexion
System.out.println("Pas de session, on oriente donc vers la page de connexion." );
request.getRequestDispatcher("index.jsp" ).forward(request, response);
}
}
}
public void init(FilterConfig config) throws ServletException {
this.config = config;
}
}
Message édité par midotuni le 26-04-2011 à 17:53:13