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 :

Questions diverses de fonctionnement


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 80
    Par défaut Questions diverses de fonctionnement
    Bonjour à tous,

    Je me suis mit récemment à Struts, et j'ai quelques interrogations suite à ce que j'ai pu lire dans différents forums, documentations, etc...

    Tout d'abord, pour effectuer une connexion à une base de données, je lis à droite à gauche que ce n'est pas le rôle de Struts d'effectuer cette opération, et que spécifier la balise <datasources> dans le fichier struts-config.xml est obsolète. Quelle est la manière la plus propre de procéder?
    J'ai également lu qu'il fallait utiliser un pool de connexion, et on parlait également de classe factory Que cela signifie-t-il?

    J'ai également lu qu'il fallait mettre les drivers de connexion à une base de données dans le répértoire /lib de Tomcat, or je n'ai pas fait cela pour ma base Postgres, et je parviens à m'y connecter avec Struts.

    Ensuite, on m'a expliqué qu'effectuer la connexion et les traitements à une base de données ne devait pas se faire dans une classe dérivée de Action, mais qu'il fallait déléguer ces tâches à d'autres classes. Pourriez-vous m'éclaircir ces points?

    Je dois certainement mélanger certaines choses, je suis un peu dans le vague, mes questions le sont peut être également, et je vous remercie du temps que vous passerez à y répondre.

    @+

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 239
    Par défaut
    Salut,

    effectivement, on peut déclarer sa datasource dans struts-config. C'est simple. Cependant, le gros hic de cette solution est que tu dois propager ta connexion depuis la couche présentation jusqu'à la couche accés aux données et bien sûr demander à ton action struts de bien libérer ta connexion avant de retourner l'ActionForward.

    Actuellement on prône la séparation des couches, afin de garantir un maximum de flexibilité. Seule la couche persistance doit s'occuper des connexions de bdd.

    Au niveau des api de gestion des connexions bdd tu a le commons-dbcp de jakarta (il y a un tutoriel dessus sur le site java.developpez.com) ou bien passer à un framework qui va s'occuper de tout (connexion, persistance de donnees) comme Hibernate.

    Concernant la connexion sans le driver de la bdd cible, je suis très étonné. J'ai bosser avec Oracle et MySQL, il fallait bien importer le driver.

  3. #3
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    Concernant la connexion sans le driver de la bdd cible, je suis très étonné. J'ai bosser avec Oracle et MySQL, il fallait bien importer le driver.
    Peut-être que les drivers sont soit dans le classpath de la JVM ou dans l'archive WAR de l'application ?

    PPDL

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 80
    Par défaut
    Citation Envoyé par petitpasdelune
    Peut-être que les drivers sont soit dans le classpath de la JVM ou dans l'archive WAR de l'application ?

    PPDL
    Oui effectivement, ils le sont, la prochaine fois j'ouvrirai les yeux ...

    Citation Envoyé par sleepy2002
    Actuellement on prône la séparation des couches, afin de garantir un maximum de flexibilité. Seule la couche persistance doit s'occuper des connexions de bdd.
    Cela veut donc dire qu'il est préférable de ne pas faire apparaître de référence à un quelconque lien vers une base de données dans le fichier struts-config.xml? Pas de balise <datasources>?
    Il faut alors effectuer la connexion à la bdd dans une classe Java?
    Qu'appelles-tu "couche persistance"?

  5. #5
    Membre confirmé
    Administrateur de base de données
    Inscrit en
    Juillet 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2006
    Messages : 98
    Par défaut
    Salut, moi je travail qu'en Struts et je ne met jamais de tag datasource dans le struts-config.xml.

    J'utilise plutôt un fichier data-source.xml dans lequelle je définit mes connexions. (Tu peux rechercher de l'info la dessus car cest pas fastoche!)

    Pour ouvrir mes connexions je cré un projet distinct dans lequelle je cré des méthode du genre connecter et fermer. Je déploi ce projet en .jar que j'inclus au projet dans lequelle je développe. Je peux maintenant avoir accès aux méthode du .jar...

    Bref j'ai pas appris ça en 1 mois Ça prit du temp et de la pratique surtout...

    Si je suis trop clair pour toi met des lunettes fummée et dit moi le j'essayerai de mieux m'expliquer...

    Je crois avoir une bonne manière de travailler avec Struts mais bon, il y en as plusieurs.

    Sur ce a+

  6. #6
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    Cela veut donc dire qu'il est préférable de ne pas faire apparaître de référence à un quelconque lien vers une base de données dans le fichier struts-config.xml? Pas de balise <datasources>?
    SI tu utilises une framework pour la persistance des données, les DataSources sont inutiles.
    Il faut alors effectuer la connexion à la bdd dans une classe Java?
    Qu'appelles-tu "couche persistance"?
    Un framework comme hibernate qui va gérer tout cela (Abstraction, connexions, ...). Un rapide tutorial est celui de Laliluna.de dont voici le lien :
    http://www.laliluna.de/struts-hibern...torial-en.html

    PPDL.

    PS : Avec un outil comme Eclipse plus le plugin MyEclipse c'est un régal en 2 minutes on génère toutes les classes d'abstractions + factory + pojo
    C'est bête de s'en priver à 30€ l'année.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 80
    Par défaut
    Merci pour vos conseils, j'ai opté pour le framework iBatis pour la persistance des données, puisque c'est avec celui ci que je travaillerai. Ca ne semble pas compliqué à mettre en oeuvre!

Discussions similaires

  1. [DW8] Questions diverses sur le logicie
    Par syn_42 dans le forum Dreamweaver
    Réponses: 3
    Dernier message: 01/03/2006, 17h23
  2. Petites questions diverses
    Par Fouflarage dans le forum Débuter
    Réponses: 7
    Dernier message: 29/11/2005, 13h43
  3. Question sur le fonctionnement interne au moteur PHP
    Par Leviathan_72 dans le forum Langage
    Réponses: 3
    Dernier message: 25/11/2005, 01h17
  4. Questions diverses sur TIBDataset et TDBGrid
    Par AlexB59 dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/11/2005, 17h14
  5. ptite question sur le fonctionnement du WSDL
    Par Valarauko dans le forum XMLRAD
    Réponses: 4
    Dernier message: 08/02/2005, 16h07

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