Problème Hibernate et jsf

cs_sonia5 Messages postés 26 Date d'inscription vendredi 29 septembre 2006 Statut Membre Dernière intervention 8 septembre 2009 - 2 sept. 2009 à 20:42
cs_mira2010 Messages postés 2 Date d'inscription lundi 13 décembre 2010 Statut Membre Dernière intervention 18 décembre 2010 - 18 déc. 2010 à 21:26
Bonsoir
J ai fait une petite application en jsf + Hibernate
Et j ai fait une interface qui traite l ajout d un utilisateur et voici le code de ma page index.jsp












Identification
































Et voici le code de mon bean

package Traitement;

import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;

import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.directory.BasicAttribute;
import javax.naming.directory.BasicAttributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;

import org.hibernate.HibernateException;
import org.hibernate.Session;

import com.projet.User;
import com.sun.org.apache.bcel.internal.classfile.Attribute;
import com.sun.org.apache.xalan.internal.xsltc.runtime.Attributes;
import com.util.HibernateUtil;
import org.hibernate.*;


import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.faces.model.SelectItem;
import javax.servlet.http.HttpServletRequest;


import com.projet.UserHome;

public class traitement {
private Integer id;
private String mdp;
private String login;


public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getMdp() {
return mdp;
}

public void setMdp(String mdp) {
this.mdp = mdp;
}

public String getLogin() {
return login;
}

public void setLogin(String login) {
this.login = login;
}


public String Ajout() throws HibernateException{

System.out.println("Debut Ajout");
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
User u1= new User();
u1.setLogin(getLogin());
System.out.println("login"+getLogin());
u1.setMdp(getMdp());
System.out.println("MDP"+getMdp());
session.save(u1);
session.getTransaction().commit();
HibernateUtil.getSessionFactory().close();
System.out.println("Fin Ajout");
return "ajouter";

}

public static void main(String[] args) throws Exception{
traitement t=new traitement();
t.Ajout();

}
}




Et voici le code de mon faces-config.xml






traitement
Traitement.traitement
session




Et qd j exécute mon code de bean avec main se trouvant a mon bean : traitement.java ça marche bien l ajout mais j exécute mon code au niveau de ma page index.jsp voici les erreurs :


exception
javax.servlet.ServletException: #{traitement.Ajout}: javax.faces.el.EvaluationException: java.lang.ExceptionInInitializerError
javax.faces.webapp.FacesServlet.service(FacesServlet.java:209)
cause mère
javax.faces.FacesException: #{traitement.Ajout}: javax.faces.el.EvaluationException: java.lang.ExceptionInInitializerError
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:78)
javax.faces.component.UICommand.broadcast(UICommand.java:312)
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
cause mère
javax.faces.el.EvaluationException: java.lang.ExceptionInInitializerError
com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:130)
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
javax.faces.component.UICommand.broadcast(UICommand.java:312)
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
cause mère
java.lang.ExceptionInInitializerError
com.util.HibernateUtil.(HibernateUtil.java:16)
Traitement.traitement.Ajout(traitement.java:80)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
javax.faces.component.UICommand.broadcast(UICommand.java:312)
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
cause mère
java.lang.NoSuchMethodError: org.apache.log4j.Logger.isTraceEnabled()Z
org.slf4j.impl.Log4jLoggerAdapter.isTraceEnabled(Log4jLoggerAdapter.java:81)
org.hibernate.type.NullableType.(NullableType.java:59)
org.hibernate.Hibernate.(Hibernate.java:103)
org.hibernate.type.TypeFactory.(TypeFactory.java:69)
org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:283)
org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:276)
org.hibernate.mapping.Property.isValid(Property.java:207)
org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:458)
org.hibernate.mapping.RootClass.validate(RootClass.java:215)
org.hibernate.cfg.Configuration.validate(Configuration.java:1149)
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1334)
com.util.HibernateUtil.(HibernateUtil.java:12)
Traitement.traitement.Ajout(traitement.java:80)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
javax.faces.component.UICommand.broadcast(UICommand.java:312)
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)


Et voici la liste des librairies que j ai utilisé :
ant-1.6.5.jar
ant-antlr-1.6.5.jar
ant-junit-1.6.5.jar
ant-launcher-1.6.5.jar
antlr-2.7.6.jar
ant-swing-1.6.5.jar
asm.jar
asm-attrs.jar
c3p0-0.9.1.jar
cglib-2.1.3.jar
cglib-2.2.jar
commons-beanutils-1.7.jar
commons-collections-3.1.jar
commons-collections.jar
commons-digester-1.7.jar
commons-logging-1.1.jar
commons-logging-api-1.1.jar
dom4j-1.6.1.jar
ehcache-1.2.3.jar
hibernate3.jar
javassist-3.9.0.GA.jar
jboss-cache-1.4.1.GA.jar
jbosscache-core-3.1.0.GA.jar
jsf-api.jar
jsf-impl.jar
jstl.jar
jta-1.1.jar
jta.jar
log4j-1.2.11.jar
log4j.jar
mysql-connector-java-5.0.4-bin.jar
oscache-2.1.jar
proxool-0.8.3.jar
slf4j-api-1.5.8.jar
slf4j-log4j12.jar
standard.jar
swarmcache-1.0RC2.jar

Est-ce que je dois ajouter ou supprimer qlq jar ou bien j ai un problème au niveau de code et merci d avance ??

8 réponses

kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
3 sept. 2009 à 10:29
Salut,

pourquoi as tu 2 jar de log4j ? je te conseille de supprimer celui-ci : log4j.jar
0
cs_sonia5 Messages postés 26 Date d'inscription vendredi 29 septembre 2006 Statut Membre Dernière intervention 8 septembre 2009
3 sept. 2009 à 12:12
Merci pour votre réponse mais j ai supprimé log4j.jar de mes jars et aussi sera les mêmes erreurs mais quand je supprime log4j.jar de mon dossier « lib » voici les erreurs qui m a affichè


log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Initial SessionFactory creation failed.java.lang.NoSuchMethodError: org.apache.log4j.Logger.isTraceEnabled()Z
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.util.HibernateUtil.<clinit>(HibernateUtil.java:16)
at Traitement.traitement.Ajout(traitement.java:80)
at Traitement.traitement.main(traitement.java:106)
Caused by: java.lang.NoSuchMethodError: org.apache.log4j.Logger.isTraceEnabled()Z
at org.slf4j.impl.Log4jLoggerAdapter.isTraceEnabled(Log4jLoggerAdapter.java:81)
at org.hibernate.type.NullableType.<clinit>(NullableType.java:59)
at org.hibernate.Hibernate.<clinit>(Hibernate.java:103)
at org.hibernate.type.TypeFactory.<clinit>(TypeFactory.java:69)
at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:283)
at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:276)
at org.hibernate.mapping.Property.isValid(Property.java:207)
at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:458)
at org.hibernate.mapping.RootClass.validate(RootClass.java:215)
at org.hibernate.cfg.Configuration.validate(Configuration.java:1149)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1334)
at com.util.HibernateUtil.<clinit>(HibernateUtil.java:12)


Est-ce que vous avez une autre idée car j essaye tous et ça ne marche pas pour moi
Merci d avance
0
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
3 sept. 2009 à 13:03
Tu as une incompatibilité entre tes jars, il y en a 1 qui n'est pas dans la bonne version.
Le jar slf4j-log4j12.jar est celui qui était avec slf4j-api-1.5.8.jar ? Peux tu changer le jar de log4j et passer à la version 1.2.15 ?
0
cs_sonia5 Messages postés 26 Date d'inscription vendredi 29 septembre 2006 Statut Membre Dernière intervention 8 septembre 2009
3 sept. 2009 à 17:11
Merci pour vos réponses
j ai déjà changer le jar de log4j par à la version 1.2.15 et aussi ne marche pas chez moi
Merci à tous
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_sonia5 Messages postés 26 Date d'inscription vendredi 29 septembre 2006 Statut Membre Dernière intervention 8 septembre 2009
3 sept. 2009 à 17:29
Quand je supprime mon log4j à partir de mon dossier « lib » , voici le message d erreur qui m a affiché avant l exécuter de mon code :
Could not delete C:/Workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/projet26/WEB-INF/lib/log4j.jar. May be locked by another process.


Et au niveau de mon console:
GRAVE: Error reading tld listeners java.lang.NullPointerException
java.lang.NullPointerException
at org.apache.log4j.Category.isEnabledFor(Category.java:746)
at org.apache.commons.logging.impl.Log4JLogger.isTraceEnabled(Log4JLogger.java:327)
at org.apache.catalina.startup.TldConfig.tldScanResourcePaths(TldConfig.java:581)
at org.apache.catalina.startup.TldConfig.execute(TldConfig.java:282)
at org.apache.catalina.core.StandardContext.processTlds(StandardContext.java:4307)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4144)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3025)
at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:432)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1278)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559)
at java.lang.Thread.run(Thread.java:595)
log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax).
log4j:WARN Please initialize the log4j system properly.


Est ce que vous avez une idèe??
0
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
3 sept. 2009 à 17:55
As tu arrêté ton serveur avant de supprimer log4j.jar ?
Il faut être sûr que ce fichier soit supprimé avant d'aller plus loin.
0
cs_sonia5 Messages postés 26 Date d'inscription vendredi 29 septembre 2006 Statut Membre Dernière intervention 8 septembre 2009
5 sept. 2009 à 02:42
Vous avez raison
J avais le problème au niveau de mon log
merci à vous aides
0
cs_mira2010 Messages postés 2 Date d'inscription lundi 13 décembre 2010 Statut Membre Dernière intervention 18 décembre 2010
18 déc. 2010 à 21:26
slt tt le monde g un tp avec Hibernate et jsf je veu de l'aide j'ai pas arrivé meme pa d'insttalé les logiciel néssiçaire pour fair l'application svp aidez moi j'attend vos réponse
0
Rejoignez-nous