IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 1 Java Discussion :

Les problémes avec Hibernate


Sujet :

Struts 1 Java

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 10
    Points
    10
    Par défaut Les problémes avec Hibernate
    je fait la configuration de hibernate et j'ai testé avec un petit classe dans une methede void main et tous ca marche mais l'orsque j'utilse le meme code dans un autre classe Test et je l'appele ensuite dans mon action je trouve des problemes voila le code de mon action:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    package com.yourcompany.action;
     
     
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import metier.Tst;
    import com.yourcompany.struts.form.LoginForm;
     
    public class LoginAction extends Action{
     
    	public ActionForward execute(ActionMapping mapping, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response) {
     
    		LoginForm loginForm = (LoginForm) form;
    		String login1 =loginForm.getLogin ();
    		  String pwd1 = loginForm.getPwd ();
     
    		   Tst t=new Tst();
     
    		    ActionForward b;
    		    boolean a =t.verification(login1,pwd1);
     
    	    	    if(a==true)
    	    	    {
     
    	    		    HttpSession session = request.getSession();
    	    	  	      session.setAttribute("loggedIn", "1");
    		              b=mapping.findForward("menu_responsable");
     
    	    	    }
     
     
     
    	    	    else {
    	    	      b= mapping.findForward("login");
    	    	    }
     
    	    	    return b;
    	}}

    et voila le code de mon classe Tst:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    package metier;	
    		import java.util.Iterator;
    		import java.util.List;
    		import org.hibernate.Query;
    		import org.hibernate.Session;
    		import org.hibernate.SessionFactory;
    		import org.hibernate.Transaction;
    import org.hibernate.cfg.Configuration;
    import responsable.ResponsableDAO;
    import responsable.Responsable;
    import responsable.HibernateUtil;
    public class Tst {
    	public boolean v=false;
    	ResponsableDAO r =new ResponsableDAO(); 
     
    	public boolean verification(String log,String m)
    	{
    	List l=r.findAll();
    	Iterator it=l.iterator();
    	while (it.hasNext()&& v==false)
    	{
    		Responsable responsable=(Responsable)it.next();
    	String logi=responsable.getLogin();
    	String mp=responsable.getMotdepasse();
    	if(log.equals(logi)&& m.equals(mp))
    		v=true;	
    	}
    	return v;
    	}
    }

    et l'exeption est dans ce classe Tst et exactement dans la ligne List l=r.findAll() et voila le trace :

    %%%% Error Creating SessionFactory %%%%
    java.lang.SecurityException: class "org.apache.commons.collections.SequencedHashMap"'s signer information does not match signer information of other classes in the same package
    at java.lang.ClassLoader.checkCerts(ClassLoader.java:775)
    at java.lang.ClassLoader.preDefineClass(ClassLoader.java:487)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:614)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1852)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:876)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1208)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    at org.hibernate.mapping.Table.<init>(Table.java:33)
    at org.hibernate.cfg.Mappings.addTable(Mappings.java:165)
    at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:299)
    at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:282)
    at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:153)
    at org.hibernate.cfg.Configuration.add(Configuration.java:386)
    at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:427)
    at org.hibernate.cfg.Configuration.addResource(Configuration.java:482)
    at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1465)
    at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1433)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1414)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1390)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1310)
    at responsable.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:30)
    at responsable.BaseHibernateDAO.getSession(BaseHibernateDAO.java:13)
    at responsable.ResponsableDAO.findAll(ResponsableDAO.java:114)
    at metier.Tst.verification(Tst.java:20)
    at com.yourcompany.action.LoginAction.execute(LoginAction.java:57)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Thread.java:619)
    %%%% Error Creating SessionFactory %%%%
    java.lang.SecurityException: org/apache/commons/collections/SequencedHashMap
    at org.hibernate.mapping.Table.<init>(Table.java:33)
    at org.hibernate.cfg.Mappings.addTable(Mappings.java:165)
    at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:299)
    at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:282)
    at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:153)
    at org.hibernate.cfg.Configuration.add(Configuration.java:386)
    at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:427)
    at org.hibernate.cfg.Configuration.addResource(Configuration.java:482)
    at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1465)
    at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1433)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1414)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1390)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1310)
    at responsable.HibernateSessionFactory.rebuildSessionFactory(HibernateSessionFactory.java:69)
    at responsable.HibernateSessionFactory.getSession(HibernateSessionFactory.java:53)
    at responsable.BaseHibernateDAO.getSession(BaseHibernateDAO.java:13)
    at responsable.ResponsableDAO.findAll(ResponsableDAO.java:114)
    at metier.Tst.verification(Tst.java:20)
    at com.yourcompany.action.LoginAction.execute(LoginAction.java:57)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Thread.java:619)

  2. #2
    Membre éprouvé
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Points : 935
    Points
    935
    Par défaut
    Bonjour,

    Premiere chose
    Le code n'en sera que plus lisible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    %%%% Error Creating SessionFactory %%%%
    java.lang.SecurityException: class "org.apache.commons.collections.SequencedHashMap"'s signer information does not match signer information of other classes in the same package
    le problème semble venir du jar de common-collection

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    j'utilise le jar commons-collections-2.1.1.jar qui est par defaut dans myeclipse en plus si je met le code dans une methode void main il marche bien

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    voila le code de l'action:

    /*
    * Generated by MyEclipse Struts
    * Template path: templates/java/JavaClass.vtl
    */
    package com.yourcompany.action;




    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import metier.Tst;
    import com.yourcompany.struts.form.LoginForm;
    /**
    * MyEclipse Struts
    * Creation date: 03-15-2008
    *
    * XDoclet definition:
    * @struts.action path="/login" name="loginForm" scope="request" validate="true"
    */
    public class LoginAction extends Action {
    /*
    * Generated Methods
    */


    /**
    * Method execute
    * @param mapping
    * @param form
    * @param request
    * @param response
    * @return ActionForward
    */





    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {

    LoginForm loginForm = (LoginForm) form;
    String login1 =loginForm.getLogin ();
    String pwd1 = loginForm.getPwd ();
    String userName = request.getParameter("login");
    String password = request.getParameter("pwd");

    Tst t=new Tst();

    ActionForward b;
    boolean a =t.verification(userName,password);

    if(a==true)
    {

    HttpSession session = request.getSession();
    session.setAttribute("loggedIn", "1");
    b=mapping.findForward("menu_responsable");

    }

    else {
    b= mapping.findForward("login");
    }

    return b;
    }}

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    voila le code de classe Tst:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    package metier;
     
     
    		import java.util.Iterator;
    		import java.util.List;
    		import org.hibernate.Query;
    		import org.hibernate.Session;
    		import org.hibernate.SessionFactory;
    		import org.hibernate.Transaction;
    import org.hibernate.cfg.Configuration;
    import responsable.ResponsableDAO;
    import responsable.Responsable;
    import responsable.HibernateUtil;
    public class Tst {
    	public boolean v=false;
    	ResponsableDAO r =new ResponsableDAO(); 
     
    	public boolean verification(String log,String m)
    	{
    	List l=r.findAll();
    	Iterator it=l.iterator();
    	while (it.hasNext()&& v==false)
    	{
    		Responsable responsable=(Responsable)it.next();
    	String logi=responsable.getLogin();
    	String mp=responsable.getMotdepasse();
    	if(log.equals(logi)&& m.equals(mp))
    		v=true;	
    	}
    	return v;
    	}
     
    }

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par hichem_enis Voir le message
    j'utilise le jar commons-collections-2.1.1.jar qui est par defaut dans myeclipse en plus si je met le code dans une methode void main il marche bien
    Normal, dans un code "indépendant", tu n'a pas de security manager, ton erreur viens du security manager. Tu a plusieurs classe dans un package (org.apache.commons.collections) qui ont été signé par des clés cryptographiques différentes (voir pas tous signé simplement). Normalement, commons-collection n'a pas a être signé. Il n'est pas distribué "signé". Je te conseille de regarder les .jar de ta webapp et de "nettoyer" (c-à-d télécharger sur les sites officiels) ceux qui ont une signature cryptographique. A mon avis, tu devrais éviter de prendre des jars depuis ailleurs que des repository officiels, le mieux étant les sites web distribuant les jars.

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    je compris pas de quoi vous parlez SVP vous pouvez mieux expliquez.

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Assure toi qu'aucun de tes jar ne contient de signature. (Ouvre chacun dans winzip, va dans META-INF/manifest.mf, si tu vois plein de lignes avec des noms de classe et un hash de signature, le jar est signé) Si tes jars sont signé, retélécharge les depuis leur site officiel respectif. (et pas depuis les folders des tes plugins eclipse!) Les distributions officielles de jar ne comprennent en général pas de signature.

Discussions similaires

  1. Problème avec hibernate et MySQL!
    Par sofien dans le forum Outils
    Réponses: 5
    Dernier message: 27/08/2008, 09h06
  2. les VUES avec hibernate
    Par touille dans le forum Hibernate
    Réponses: 2
    Dernier message: 30/05/2008, 09h44
  3. Problème avec Hibernate
    Par ISID dans le forum Hibernate
    Réponses: 13
    Dernier message: 05/10/2007, 12h27
  4. Problème avec Hibernate synchronizer
    Par jason69 dans le forum Hibernate
    Réponses: 2
    Dernier message: 27/08/2007, 11h35
  5. [Hibernate] Problème avec Hibernate et Eclipse 3
    Par theseuby dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 30/03/2006, 21h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo