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 :

Nombre de servlet ?


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 38
    Points : 28
    Points
    28
    Par défaut Nombre de servlet ?
    Bonjour,

    Je dois créer dans le cadre de mes stages, une application web jee.
    Dans mon application il y a 4 rôles différent chaque rôle à plus de droit que son prédécesseur (jamais moins).

    exemple, l'admin à 3 fonctionnalités (ajout-suppression-modification), le modérateur en à 2 (ajout - suppresion), l'utilisateur normal en à 1 (ajout)......

    Ma question c'est de savoir quel est le nombre idéal de servlet à créer.
    Une par rôles? une par fonctionnalités ? .....

    sur ce post ,j'ai lu qu'une bonne solution est de faire une servlet par rôle.
    Donc si j'ai bien compris la démarche, dans mon petit exemple j'aurais 3servlet (admin-modo-user), mais le problème, c'est que le code de la fonction "ajout" sera répétées 3 fois non ???????????? (ou alors j'ai pas compris)

    Dans mon application (pour le moment) j'ai une servlet par fonctionnalités hors j'ai une trentaine de fonctionnalités différente -> donc si je continue comme ça, je vais avoir 30servlet-> donc un fichier web.xml illisible (30nom de servlet + 30mapping) ................

    Quelle est la meilleur facon de faire (en essayant si possible de coller au pattern MVC) ???


    Merci d'avance pour vos réponses.


    [EDIT]
    Est ce que je peut mettre le code de la fonction "ajout" dans une classe qui jouerais le role de controleur ??????
    les servlets ne jouent elles déjà pas le rôle de controleur ???????

  2. #2
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Bonjour,

    Moi je vois une seule servlet qui ferait les 3 actions (ajout,modif,suppression) mais la gestion des droits se jouerait directement sur l'affichage des boutons ou non selon les droits. En d'autres termes ça ne sert à rien d'afficher un bouton à un utilisateur et c'est lorsqu'il clique qu'on lui répond qu'il n'avait pas les droits.Donc tout simplement l'affichage des boutons dans un écran doit correspondre au profil de la personne connectée. Ca t'évite les "if" à n'en plus finir dans ta servlet au moment de la soumission.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 38
    Points : 28
    Points
    28
    Par défaut
    Une seule servlet pour mes 30 fonctionnalités ?????
    sa va être un peu illisible à la longue non ?

  4. #4
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Citation Envoyé par maxime8n Voir le message
    Une seule servlet pour mes 30 fonctionnalités ?????
    sa va être un peu illisible à la longue non ?
    Pour toi une fonctionnalité c'est quoi ? Par exemple l'ajout ou la modification c'est bien ça? Je ne me suis limité qu'à celles là qui sont classiques. De manière générale, il faut partir du principe que le traitement des droits sur des actions se fait à l'affichage du bouton et non à la soumission. Il faut qu'à l'affichage de ton écran tu n'affiches une action ou un bouton(ou active) que si l'utilisateur connecté y'a droit.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 38
    Points : 28
    Points
    28
    Par défaut
    J'ai bien compris ton idée de n'afficher que les boutons nécessaire pour chaque rôles différents.

    Mais le fait de n'avoir qu'une seule servlet pour toute mon application c'est pas terrible si quelqu'un doit relire mon code après ? non?

    (Enfin je dit ça je dit rien.. c'est justement pour ça que je demande de l'aide sur le forum )

    PS:Quand je dit fonctionnalités c'est une des possibilités que l'utilisateur a à sa disposition : par exemple j'ai 5type d'objet donc on aura déjà 5*3(modification-ajout-suppression) puis d'autre traitement plus complexe genre gérnérer un pdf avec le contenu d'une table ou autre .....
    [Edit] en UML : un use case quoi

  6. #6
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    J'avoue que je me perds un peu dans ton besoin. De combien d'écrans compte tu disposer? combien d'IHM en d'autres termes?

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 38
    Points : 28
    Points
    28
    Par défaut
    J'ai pas les chiffres exact mais y en aurais une quinzaine pour l'admin
    une dizaine pour le modo
    5-6 pour un autre rôle
    et 2 pour un utilisateur normal

    la dizaine du modo font partie de la quinzaine de l'admin
    les 5-6 de l'autre rôle font partie de la quinzaine de l'admin
    les 2 pour l'utilisateur normal font partie de la quinzaine de l'admin

    Donc en tout j'aurais une quinzaine de page jsp --> donc d'IHM (comme tu vient de le dire)

  8. #8
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Voila qui est mieux claire. Il faut que tu dissocies les besoins métiers des traitements applicatifs. Moi je partirai sur un contrôleur par écran de même fonctionnalité. Avec un DAO qui peut être appelé par plusieurs contrôleurs. Par exemple les fonctionnalités ajout, modifier,supprimer pour une entité seront appelés par plusieurs controleurs différents selon les traitements. et générer un pdf serait un traitement applicatif en mon sens qui serait dans une classe utilitaire pouvant être appelé dans plusieurs contrôleurs. J'espère me faire comprendre.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 38
    Points : 28
    Points
    28
    Par défaut
    [QUOTE=DevServlet;6584183]Moi je partirai sur un contrôleur par écran de même fonctionnalité.QUOTE]

    Ca fera pas mal de contrôleur ça


    Peu être une bête question: en JEE un controleur c'est une servlet ? non ?
    Pitié me frappe pas

    ou alors j'ai rien compris

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Bon alors les droit, ca se gère à l'affichage (cacher les boutons inutiles) MAIS AUSSI au traitement (pour éviter les petit malin qui soumettent des trucs sans avoir le bouton)

    Ceci dit, les servlet c'est pour du traitement, on utilise en général les JSP ou JSF pour la partie visualisation. Si tu utilise JSF, il a déjà son propre controlleur, t'as juste à coder les actions, mais on va éviter en débutant.

    Donc jsp pour l'affichage, servlet qui traite les actions. tu peux faire une servlet par action si tu veux, (au moins tu pourra dans ton web.xml mettre des droits séparé à chaque action) mais c'est vite lourd à gérer. tu peux mettre une servlet globale qui dispatche vers différentes classes aussi (on n'a jamais dit avec une servlet qu'il fallait que tout le code soit dans un seul .java non plus!)

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 38
    Points : 28
    Points
    28
    Par défaut
    Merci pour votre aide, je vais regarder à coder ça aujourd'hui

    J'aurais aussi une autre question (je sais pas si je dois faire un nouveau post ou non) :
    j'ai mit un filtre sur toutes mes pages qui vérifie qu'on est bien connecté sur l'application, hors ce filtre s'applique de lui même sur les pages de perte de mot de passe ...... donc quand je clic sur "mot de passe oublié" je tombe sur la page de connexion qui me dit que je doit être connecté.... (pour récupérer un mot de passe c'est un peu paradoxale )

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 38
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par DevServlet Voir le message
    Voila qui est mieux claire. Il faut que tu dissocies les besoins métiers des traitements applicatifs. Moi je partirai sur un contrôleur par écran de même fonctionnalité. Avec un DAO qui peut être appelé par plusieurs contrôleurs. Par exemple les fonctionnalités ajout, modifier,supprimer pour une entité seront appelés par plusieurs controleurs différents selon les traitements. et générer un pdf serait un traitement applicatif en mon sens qui serait dans une classe utilitaire pouvant être appelé dans plusieurs contrôleurs. J'espère me faire comprendre.
    Simple question si je fait un controleur (=une servlet) pour la gestion des objets Personne (par exemple). L'utilisateur peut ajouter, modifier, supprimer une Personne. Si j'ai bien compris ton message tu ferais une seul servlet qui contiendrais ces 3 fonctionnalités (si j'ai bien compris). Mais à ce moment la comment, dans la servlet, tu va distinguer si l'utilisateur à cliqué sur ajouter, modifier ou ,supprimer ?????

  13. #13
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Citation Envoyé par maxime8n Voir le message
    Simple question si je fait un controleur (=une servlet) pour la gestion des objets Personne (par exemple). L'utilisateur peut ajouter, modifier, supprimer une Personne. Si j'ai bien compris ton message tu ferais une seul servlet qui contiendrais ces 3 fonctionnalités (si j'ai bien compris). Mais à ce moment la comment, dans la servlet, tu va distinguer si l'utilisateur à cliqué sur ajouter, modifier ou ,supprimer ?????
    Pas tout à fait ça. Pourquoi dans ta question tu ne mets pas en avant les IHM devant indirectement invoquer ces actions? Alors ça m’emmène à une question, est ce que t'as une seule IHM ou un seul écran pour gérer toutes les actions liées à une personne? Je réitère ma proposition, moi j'aurais bien eu un seul DAO (je ne sais pas si tu vois ce que c'est qu'un DAO?) pour persister les actions CRUD liées à l'entité Personne, mais en revanche j'aurais eu un seul écran pour l'ajout/Modification, et donc une seule servlet pour gérer ça. et un autre écran qui m'aurait listé tous les objets Personne dans lequel ç'aurait été possible de supprimer une Personne. Je ne peux être plus clair...

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 38
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par DevServlet Voir le message
    Pas tout à fait ça. Pourquoi dans ta question tu ne mets pas en avant les IHM devant indirectement invoquer ces actions? Alors ça m’emmène à une question, est ce que t'as une seule IHM ou un seul écran pour gérer toutes les actions liées à une personne? Je réitère ma proposition, moi j'aurais bien eu un seul DAO (je ne sais pas si tu vois ce que c'est qu'un DAO?) pour persister les actions CRUD liées à l'entité Personne, mais en revanche j'aurais eu un seul écran pour l'ajout/Modification, et donc une seule servlet pour gérer ça. et un autre écran qui m'aurait listé tous les objets Personne dans lequel ç'aurait été possible de supprimer une Personne. Je ne peux être plus clair...
    Au démarrage de l'application (après s'être logué), j'ai une fenêtre comprenant une série de liens différents.

    Chaque lien renvoi vers page contenant une(exemple : "changer mot de passe" ou plusieurs fonctionnalités (exemple: "Gestion du Personnel" (ajout/modification/suppression))

    Les DAO ça je connait bien, il contient déjà l'ajout la suppression et la modification de la personne implémenté.

    C'est juste au niveau de la servlet que je cale
    Je sais pas comment bien séparer les 3actions ajout/modificaiton/suppression

    [EDIT] j'ai aussi une servlet gérant les mot de passe contenant 3actions possible changer mdp, générer mdp ou mot de passe oublié..... mais celle la non plus je ne sais pas bien comment séparer ces 3 fonctionnalités[/EDIT]


    PS:il est vrai que je m'exprime pas terrible terrible

  15. #15
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Citation Envoyé par maxime8n Voir le message

    [EDIT] j'ai aussi une servlet gérant les mot de passe contenant 3actions possible changer mdp, générer mdp ou mot de passe oublié..... mais celle la non plus je ne sais pas bien comment séparer ces 3 fonctionnalités[/EDIT]


    PS:il est vrai que je m'exprime pas terrible terrible
    Je te donnerai la même réponse que précedemment. A savoir que la servlet de gestion de mots de passe doit être connectée à l'ecran de modification/mot de passe oublié/changer mdp. Mais cette servlet dès qu'elle recevra la requete fera appel au DAO des Objets Personne pour les opérations CRUD. Par définition une servlet répond à une requête HTTP, et donc doit être cablée à un écran ou plusieurs (si on veut), une servlet en temps normal n'est pas censée en appeler une autre. Pars du principe qu'à chaque écran tu pourras coller une seule servlet, mais laquelle passera bien sûr la main à une ou plusieurs DAO pour mettre à jour la bd.

Discussions similaires

  1. Réponses: 10
    Dernier message: 25/02/2014, 11h43
  2. Programme Servlet Nombres
    Par blind12345 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 07/04/2012, 00h02
  3. Nombre de servlet ?
    Par alexxxx69 dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 27/06/2011, 22h46
  4. Nombre de fichiers ouverts simultanément
    Par matrixfan dans le forum C++Builder
    Réponses: 3
    Dernier message: 27/05/2002, 17h47
  5. [Kylix] Probleme de nombre flottant!!
    Par yopziggy dans le forum EDI
    Réponses: 5
    Dernier message: 02/05/2002, 10h13

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