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 :

[JSP]comment créer un listener pour ma base de données


Sujet :

Servlets/JSP Java

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    347
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 347
    Points : 136
    Points
    136
    Par défaut [JSP]comment créer un listener pour ma base de données
    bonjour,

    je voudrais créer un listener pour le chargement de mon pilote de DB.
    un simple listener.

    est-ce que quelqu'un a un exemple tout bête ?

    mon exemple de code à "listeniser' !

    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
     
    <%
            // paramètres de connexion à la base via le driver
            
            String login = application.getInitParameter("login");
            String password = application.getInitParameter("password");
            String serveur_mysql = application.getInitParameter("serveur_mysql");
            String pilote=application.getInitParameter("pilote");
            String base = application.getInitParameter("database");
            String url = serveur_mysql + base;
            String SQL;
             
            // déclaration du drivers utilisé
            // il se trouve dans /web-inf/lib
            try 
                    { 
                    Class.forName(pilote);
                    }
            catch ( Exception ex) 
                    {       
                    System.err.println("Erreur au chargement du pilote du SGBD");           
                    } 
     
             
            // Création d'une connexion
            java.sql.Connection CONNEXION = java.sql.DriverManager.getConnection(url, login, password);
            java.sql.Statement EXE = CONNEXION.createStatement();
            
    %>

  2. #2
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    377
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 377
    Points : 356
    Points
    356
    Par défaut
    Qu'est ce que tu cherches exactement à faire ?

  3. #3
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    347
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 347
    Points : 136
    Points
    136
    Par défaut comme ça
    bun en fait, j'aimerais créer un listener qui charge la classe du pilote au démarrage de ma webapp et la place dans un attribut au niveau de l'application.

    est-ce que vous me comprenez ?

  4. #4
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    quel est le but? pouvoir changer de datasource a la volé ?

    Sinon configure le directement comme un datasource au niveau de ton conteneur de serlvet.

    @+

  5. #5
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    347
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 347
    Points : 136
    Points
    136
    Par défaut lol
    bun le but est de faireun listener.
    on m'a dit que c'était mieux.

    et puis ça fait parti d'un exercice aussi.

  6. #6
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    377
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 377
    Points : 356
    Points
    356
    Par défaut
    Les listeners ne sont pas utiles par tout.
    Il permettre certes de modifier des choses sans avoir à se soucier de qui en a besoin, puisqu'on mets au courant tout ce qui ont besoin.
    Mais là pour de la base de données et du chargement de driver ....
    Bof !!!
    Sinon tu as le ServletContextListener je crois qui se charge au démarrage de ta webapp.çà pour le coup c'est bien mais c'est à partir des servlet 2.3 je crois.

  7. #7
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    347
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 347
    Points : 136
    Points
    136
    Par défaut oui
    oui mais je veux utiliser un listener.
    c'est mon choix.

    pourquoi essaies-tu de me cfaire changer d'avis ?

    mais sinon comment je fais alors pour charger mon pilote dans un listener ?

  8. #8
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    377
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 377
    Points : 356
    Points
    356
    Par défaut
    Bah tu fais comme dans toutes les classes Listener ?
    Sais tu au moins ce qu'est un listener ???

  9. #9
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    347
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 347
    Points : 136
    Points
    136
    Par défaut bun non
    bun non jsutement !!
    c'est pour ça que je psoe la question. Mais je voudrais apprendre à la faire pour mon cas c-a-d le chargement de mon pilote !

  10. #10
    Membre habitué
    Avatar de dtateur
    Inscrit en
    Mars 2004
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 106
    Points : 140
    Points
    140
    Par défaut
    salut !!
    je ne suis pas sure que pour ce que tu veux faire un listener soit la meilleure chose mais voici comment faire :
    on crée une classe qui implemente ServletContextListener.
    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
     
    import javax.servlet.*;
    import java.sql.*;
    public class MyServletContextListener implements ServletContextListener{
    	public void contextInitialized(ServletContextEvent sce)
    	{
    		try{
    			Connection c ;//create connection to database;
    			sce.getServletContext().setAttribute("connection", c);
    		}catch(Exception e) { }
    	}
     
    	public void contextDestroyed(ServletContextEvent sce)
    	{
    		try{
    			Connection c = (Connection)
    			sce.getServletContext().getAttribute("connection");
    			c.close();
    		}catch(Exception e) { }
    	}
    }


    puis on declare son listener dans le web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <listener>
       <listener-class>
          com.test.MyServletContextListener
       </listener-class>
    </listener>
    Good luck !!!

  11. #11
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    347
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 347
    Points : 136
    Points
    136
    Par défaut merci beaucoup
    merci beaucoup, je suis sur que ça va m'aider.
    je vais bosser dessus maintenant.
    :-)

  12. #12
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    377
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 377
    Points : 356
    Points
    356
    Par défaut
    Alors juste pour information.

    Un listener est en français un ecouteur (enfin quelqu'un qui ecoute).
    C'est à dire. Un objet de type listener est là pour modifier des choses lorsqu'il a entendu quelqu'un qui lui a dit qu'il s'était modifié.

    Donc en gros.

    Je suis dans un magasin, si l'ordinateur central change le prix d'un article, il faut que toutes les caisses soit modifiées, c-a-d que le prix de l'article soit mise à jour partout.
    Pour cela, Java a créé les Event (événement : changement de prix), et les Listener (ecouteurs : les caisses qui modifie leur prix dès que l'ordinateur central change).

    Le principe est que les caisses qui ont besoin de connaitre le changement de prix, doivent s'abonner auprès de l'ordinateur central pour lui dire de les tenir au courant dès qu'il y a un changement.

    Donc les listeners sont là pour se modifier en cas de changement d'un autre objet (objet "maitre").
    Tu vois donc que dans ton cas, le changement de driver se faisant relativement RARE, voir jamais utilisé, c'est difficile de répondre à ta question avec un listener.
    En tout cas comme la fait dtateur , c'est le seul moyen que je connaisse comme listener qui soit intéressant dans ton cas.
    Voili, voilou,
    En espérant avoir été clair.

  13. #13
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 80
    Points : 68
    Points
    68
    Par défaut
    Ca ressemble au Design Pattern Obesrvateur ... Est-ce la même chose ?

    --> C'est mon 100 ème posts
    JSP, Servlets, Struts, EJB, Hibernate, XDoclet, Torque, WebServices ...
    Env. WebSphere, Tomcat, JBoss

  14. #14
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    377
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 377
    Points : 356
    Points
    356
    Par défaut
    Tout à fait dans les mots savants c'est un design pattern Observateur.
    Un BON POINT pour PeteMitchell est son 100eme post.

  15. #15
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    La seule chose a savoir c'est est ce que vos N eme et Xeme post apporte qqchose à la discussion. Je n'en suis pas sur et la star race n'amene a rien....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment créer un Listener pour une JList
    Par onh890 dans le forum Débuter
    Réponses: 2
    Dernier message: 18/05/2011, 23h46
  2. [AC-2007] Comment créer une table dans une base de données
    Par franckimmo dans le forum VBA Access
    Réponses: 4
    Dernier message: 20/08/2009, 16h22
  3. Comment créer une connexion avec une base de données MySql en VBA
    Par jinkey dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/12/2008, 15h39
  4. Réponses: 3
    Dernier message: 08/07/2008, 17h08
  5. Créer un index pour une Base de données
    Par john7 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 31/01/2005, 21h43

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