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 :

Différenciation Formulaire dans servlet pour pattern MVC


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
    Septembre 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 25
    Par défaut Différenciation Formulaire dans servlet pour pattern MVC
    Bonjour,

    Pour mon travail je suis en train d'implémenter le pattern MVC, ce qui est assez long mais pas si compliqué que ça au final...
    Bref

    Pour le moment j'ai plusieurs servlets qui s'occupent chacune de leur formulaire mais la théorie dit qu'il ne doit y avoir qu'un seul controleur qui redirige vers les pages JSP selon les requetes de l'utilisateur.

    Ma question est donc la suivante:
    Y'a-t-il une fonction qui me permette de récupérer le nom du formulaire qui fait appel à la servlet afin de pouvoir tout rassembler dans une seule servlet?

    je me contente aussi d'une fonction qui me permet de connaître l'ensemble des paramètre ou attributs qui sont contenu dans la variable request

    Merci d'avance pour votre aide

  2. #2
    Membre chevronné
    Avatar de link256
    Profil pro
    Développeur Java
    Inscrit en
    Février 2003
    Messages
    596
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2003
    Messages : 596
    Par défaut
    Tu as le MVC et le MVC2 qu'utilise le framework Struts notamment ou il y a une seule et unique servlet qui sert de controleur et redirige l'ensemble des requêtes.

    tu as donc 2 solutions :

    Pour chacun de tes formulaires tu ajoutes un champ cache

    <form action="ServletControleur">
    < input name="formulaireName" type="hidden" value="formulaire1">
    </form>

    tu as une seule servlet pour l'ensemble de formulaire
    avec un switch par exemple qui traite la demande en fonction du paramètre
    formulaireName reçu mais tu te retrouve avec une grosse grosse servlet qui te sert de contrôleur te qui te fais aussi du traitement et qui continuera à grossir a chaque nouveau formulaire.



    Tu as plusieurs servlet c'est à dire que tu gardes toutes tes servlets déjà crée
    pour chacun de tes formulaires + une servlet de contôle qui pareil marcherais avec un Switch par exemple toujours en fonction du formulaireName mais qui redirigerait sur la servlet associée au formulaire (solution que je te conseille)

    Ce qui te fera bien respecté le modèle MVC 2.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 25
    Par défaut
    Je vais opter pour la deuxieme solution qui m'évitera de faire pas mal de modif'

    j'avais pas pensé au champs chaché dans le formulaire...

    Par contre, comment je fais pour rediriger vers les différentes servlet, parce qu'avec le requestDispactcher je sais pas si tu peux mettre autre chose une page jsp...???

    Mais je vais deja commencer à préparer mon nouveau controleur général!!!

    Allez MVC!!!

    PS: j'utilise pas struts mais spring, est ce que ca change quelque chose? a l 'intuition je dirais que non...

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Le modèle MVC dit plutôt qu'il y a 1 contrôleur pour 1 page... et encore...
    Le modèle MVC2 n'a qu'1 contrôleur qui redirige vers l'action voulue qui elle s'occupera de la réponse.

    Bref, si le but est d'avoir un contrôle centralisé pour certaines choses (utilisateur valide, format de la requête, etc...) tu pourrais également passer par un filtre... et ne rien (ou presque) toucher à l'application actuelle.

    Struts et Spring sont très différents, Struts est un framework MVC2, Spring est un conteneur léger (encore faudrait-il savoir quelle "module" de Spring tu utilises)

    Pour le requestDispatcher, rien ne t'empêche d'appeler une servlet (une JSP est également une servlet)

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 25
    Par défaut
    Struts et Spring sont très différents, Struts est un framework MVC2, Spring est un conteneur léger (encore faudrait-il savoir quelle "module" de Spring tu utilises)
    j'utilise tout ce qui est bean factory etc..

    Pour le requestDispatcher, rien ne t'empêche d'appeler une servlet (une JSP est également une servlet)
    pour rediriger vers la servlet je met requestdispatcher("ma_servlet.java")???
    si c'est ca alors:


    sinon :

    ^^

  6. #6
    Membre chevronné
    Avatar de link256
    Profil pro
    Développeur Java
    Inscrit en
    Février 2003
    Messages
    596
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2003
    Messages : 596
    Par défaut
    requestdispatcher("ma_servlet.java")???
    Non ^^

    utilise le mapping associé à ta servlet défini dans le web.xml
    faut resonné en url pour la transmition de données et non en classe java

    car pour accéder à une servlet on est d'accord tu ne fais pas un

    http://localhost:/9080/MonAppi/maservlet.Java

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/10/2014, 16h32
  2. Router pour pattern MVC
    Par grunk dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 3
    Dernier message: 06/02/2014, 08h54
  3. Réponses: 3
    Dernier message: 15/03/2007, 20h33
  4. Plusieurs formulaires dans une seule servlet
    Par bf83 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 27/03/2006, 15h21
  5. [Struts] Element de formulaire dans une servlet
    Par Adrien09 dans le forum Struts 1
    Réponses: 4
    Dernier message: 17/03/2006, 15h14

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