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

Servlets/JSP Java Discussion :

Appel Java puis Hibernate depuis JSP


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 54
    Par défaut Appel Java puis Hibernate depuis JSP
    Bonjour a tous,

    Alors voila j'ai un petit souci..

    Depuis une page JSP, j'essaie d'appeler une classe JAVA qui se trouve dans un package. Cette classe JAVA utilise Hibernate pour accéder à une base de données MySQL.

    Dans mon JSP, j'appelle ma classe de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%Test test = new Test();%>
    Et bien entendu au début du fichier JSP, j'importe le package contenant ma classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@page import="checkauthentication.*" %>
    Cependant cela ne fonctionne pas

    Pour info, j'ai créé un autre projet de test totalement en JAVA, et j'arrive bien à accéder à la base de données, mais dès que j'essaie de faire l'appel de ma classe depuis une page JSP, avec exactement le même code, cela ne fonctionne pas...

    Je n'ai aucune erreur dans Netbeans

  2. #2
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Salut,

    Dans JSP, utilises les beans

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <jsp:useBean id="idihb" scope="session" class="Beans.ClassTest"/>
    pour utiliser les méthodes idihb.methode1

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 54
    Par défaut
    Je connais pas les Beans... Est-ce qu'il y a pas une manière simple de faire ça ?

    Ou alors je dois changer quoi dans mon projet pour utiliser ces Beans ?

  4. #4
    Membre émérite
    Avatar de kmdkaci
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 560
    Par défaut Appel Java puis Hibernate depuis JSP
    Bonjour,
    ça sera un peu "génant de ne pas utiliser les beans avec Hibernate".
    Aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%Test test = new Test();%>
    Là, tu instancie ta classe Test, sans plus. Que contient la classe Test?
    Tu ne fais aucun appel à une méthode interne, à moins que tu n'as pas posté le code adéquat.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 54
    Par défaut
    Voici le code de la classe Test :

    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
     
    package checkauthentication;
    //import java.util.*;
     
    import org.hibernate.*;
    import org.hibernate.cfg.Configuration;
     
    public class Test {
     
        public static void main(String[] args)
                throws HibernateException {
            System.out.println("Debut de la classe Test");
            // Create SessionFactory and Session object
            SessionFactory sessions = new Configuration().configure().buildSessionFactory();
            Session session = sessions.openSession();
            // Perform life-cycle operations under a transaction
            Transaction tx = null;
            try {
                tx = session.beginTransaction();
     
                Pass p1 = new Pass();
                p1.setPwd("12345");
                session.save(p1);
                Pass pass = (Pass) session.get(Pass.class, p1.getId());
                System.out.println("mot de passe=" + pass.getPwd());
     
                tx.commit();
                tx = null;
            } catch (HibernateException e) {
                if (tx != null) {
                    tx.rollback();
                }
                e.printStackTrace();
            } finally {
                session.close();
            }
        }
    }

    Comme ça ne fonctionnait pas et que vous m'avez dit d'essayer les Beans, j'ai effectué les modifs suivantes :
    Dans le fichier JSP j'ai ajouté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <jsp:useBean id="idihb" scope="session" class="checkauthentication.Test"/>
    Et à la place de mon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Test test = new Test();
    j'ai mis Puis j'ai modifié la classe Test, tout ce qu'il y avait dans Test() j'y ai déplacé dans la méthode Test.ttt()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    package checkauthentication;
     
    import org.hibernate.*;
    import org.hibernate.cfg.Configuration;
     
    public class Test {
     
        public Test(){}
        public void ttt() {
           /*Code d'avant*/
     
        }
     
    }
    Mais bon ça a rien changé...

  6. #6
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Et dans ta fonction ttt maintenant, tu a écris quoi ??? (ya pas de main ...)

    Et dans ta JSP, elle est lancée comment ???

  7. #7
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Tu dois être dans la fenêtre Projects avec <default package> ...
    Tu vas des la fenêtre Files puis tu regardes ou est ton fichier hibernate.cfg.xml

    en fait le fichier, tu l'as déjà fournit, c vrai, mais je crois que tu va avoir du mal à faire ce que tu veux sans la connexion ici. car en fait à force de regarder ton code et que à chaque fois j'y suis pas 100% car je fais mon appli en même temps, je commence à douter sur ton fichier hibernateUtil.

    Dans ce fichier, c là tu fais ta connexion à ta base, mais je doute qu'il trouve effectivement le fichier de mapping.

    Moi je fais dans Netbeans, dans le fichier hibernate.cfg.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            <!-- Connexion a la base de données -->
            <property name="connection.datasource">
               java:comp/env/jdbc/tabase
            </property>
    avec une connexion dans Netbeans dans Files/cong je déclare ma base et j'y ajoute une persistenceUnit pour la persistence voir persistence.xml

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 54
    Par défaut
    J'avoue que là je suis un peu perdu...

    Voici une capture d'écran de mes Files dans Netbeans...

    Ce qui me parait étrange c'est que els fichiers HibernateUtil.java, hibernate.cfg.xml etc fonctionne bien avec un programme en JAVA pur, part contre quand j'essaie d'appeler la méthode depuis une page JSP, ca marche pas


  9. #9
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    C vrai que ça commence par être difficile
    Moi de mon côté, il est vrai que la structure de l'appli est comme toutes celle du service alors ça marche et puis voilà ....

    Bon, dans ta copie d'écran, on enléve build parceque ça c généré automatiquement .... parcontre ya des doublons bizarres .... je pense du à tes modifications d'origine (qd tu étais uniquement avec des class java sans jsp).
    Je pense de ce côté là je me créerais une nouvelle appli en y ajoutant tes éléments un par un.

    Sinon, commençons par le bas, dans /web:
    tes jsp doivent être dans WEB-INF avec le fichier web.xml, de même c quoi 'wsdl' sinon à virer ...

    Ensuite dans src les fichiers de conf ont l'air d'être ok mais parcontre si tu les retrouves dans le repertoire checkauthentication, tu les vires ...

    En dernier, moi dans src j'ai pas /conf dedans mais à un niveau au dessus, cad même niveau que src, build, test etc, ..
    parcontre ton fichier persistence.xml est comment?

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 54
    Par défaut
    Il me semble pas avoir de fichier persistence.xml....

    Je vais essayer de tout recréer, mais je doute que ça change quelque chose, c'est vraiment bizarre et là je stagne depuis un moment, je commence sérieusement à perdre courage...

    Et comme je dois faire ça pour le boulot, ça m'embête beaucoup, j'aurais aimé réussir...

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 54
    Par défaut
    Voila j'ai recréé mon appli, voici ce que ca donne au niveau des fichiers :



    ça a l'air en effet plus propre, par contre j'ai toujours le même problème...

Discussions similaires

  1. [log4j] Doublons lors de l'appel d'un servlet depuis un jsp
    Par jokerparis dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 29/03/2007, 15h09
  2. Appel servlet depuis JSP
    Par shaun_the_sheep dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 07/07/2006, 13h50
  3. Appel d'une methode java dans un fichier jsp
    Par kodo dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 06/05/2006, 13h46
  4. Liveconnect avec Opera 8.5 (appel Java depuis JavaScript)
    Par Gregory3000 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/10/2005, 08h32
  5. [Info] Appeler une fonction Ada95 depuis Java
    Par mmathieu dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 15/09/2005, 09h42

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