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

Java EE Discussion :

Questions de débutant sur JEE


Sujet :

Java EE

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2016
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 85
    Par défaut Questions de débutant sur JEE
    Bonjour,
    je suis en train de suivre un tutoriel sur JEE, et j'ai un TP à faire mais je ne comprends pas l'enchainement des taches, je m'explique

    On me donne un formulaire de saisie client, donc une forme .jsp et je dois faire les servlets de creation de client et d'affichage des données saisies ainsi que le jsp d'affichage des données et le bean client.

    Donc j'ai fait en sorte que si on tape localhost:8080/PROJ/creerclient on tombe sur la forme de saisie client voilà, donc j'ai modifié le web.xml, fait une servlet de creation client et le bean client.java.

    Mais qu'est ce qui va rattacher ma servlet de creation de client à la servlet d'affichage client et à mon bean client? Je comprends que tout passe par le bean mais je ne sais pas quoi faire maintenant.

    Si c'est pas clair je peux préciser des trucs, merci d'avance ...

  2. #2
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 326
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    La ".jsp" est la Vue, la servlet est le Controleur de ton modèle MVC.

    Lorsque ton client HTTP envoie une requête :
    1. Ton serveur HTTP Java va réceptionner la requête et le rediriger vers un contrôleur. Cette liaison se réalise au choix, à partir du web.xml (voir un extrait de code en dessous) ou bien de l'annotation @WebServlet (solution plus simple, plus propre et pas de problème de cache avec le serveur HTTP au redémarrage), disponible si tu utilise un serveur HTTP Java qui respecte la norme Servlet 3.0
    2. Ton Contrôleur réceptionne la requête, traite cette dernière avec les instructions que tu as placées dans tes méthodes doGet, doPost() etc... et indique une ."jsp" vers la quelle les données seront transmises (cf: request.getRequestDispatcher("/WEB-INF/une-vue.jsp"))
    3. Ta Vue affiches les variables que tu auras initialisé dans ton Contrôleur.


    Pour lier ton Contrôleur à la Vue tu as 2 solutions :

    A l'ancienne : utiliser le web.xml avec les balises
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <servlet>
            <servlet-name>NomDeLiaison</servlet-name>
            <servlet-class>monpackage.ControleurServlet</servlet-class>
    </servlet>
     
    <servlet-mapping>
            <servlet-name>NomDeLiaison</servlet-name>
            <url-pattern>/mon-url</url-pattern>
    </servlet-mapping>

    Avec @WebServlet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @WebServlet( "/mon-url" )
    public class NotificationServlet extends HttpServlet {
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  3. #3
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2016
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 85
    Par défaut
    merci pour ta réponse mais c'est tjrs pas clair. Je ne connaissais pas l'alternative à web.xml. Moi j'ai utilisé web.xml.

    Mais si on a 2 formes, donc 2 jsp, un pour la saisie et l'autre pour l'affichage.
    On commence par la saisie. quelle est la servlet qui gère la saisie ? car dans la servlet qui est dans le corrigé on initialise des données saisies dans la forme de saisie, on envoie ces données à la forme d'affichage qui les affiche. Mais qu'est ce qui appelle la forme de saisie ? Car tout passe par une servlet ...
    on saisit en url un répertoire qui est lié à une servlet qui appelle la forme d'affichage, donc rien n'appelle la forme de saisie.

    Et quand je fais tourner mon appli j'ai null pointer exception car je traite des données non saisies, je pense ... le getParameter ne ramène rien...en fait !!!

  4. #4
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 326
    Billets dans le blog
    12
    Par défaut
    Le message que je t'ai rédigé résume le parcours complet d'une requête.

    Pour reprendre les affirmations :
    • Tu peux avoir plusieurs formulaires par page.
    • Tu peux avoir plusieurs servlets par application.
    • Tout ne passe pas par 1 servlet, tout passe par ton serveur HTTP.
    • C'est toi qui va indiquer via ton <form action="ton-url"></form> quelle servlet (ou "contrôleur") doit traiter la requête. C'est dans ta servlet que tu vas indiquer vers quelle vue rediriger.
    • C'est à toi ou aux API que tu utilises de gérer les NullPointerException, car une application bien conçue ne doit pas remonter de NullPointerException.
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  5. #5
    Membre expérimenté Avatar de kalina
    Femme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2009
    Messages : 220
    Par défaut
    Bonjour,
    Moi aussi je viens de faire le TP dont tu parles et c'est vrai que dans la correction, on appelle directement la jsp creerClient.jsp sans passer par une servlet!
    Je pense que ce n'est pas normal d'autant plus que c'est dis quelque part dans le cours qu'on ne doit jamais faire ça! D'ailleurs, moi, avant de regarder la correction, j'ai créé une servlet AppelClient et une autre AppelCommande (même si on me l'a pas demandé) juste pour afficher les jsp creerClient.jsp et creerCommande.jsp, car ça me semblait plus logique!

  6. #6
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2016
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 85
    Par défaut
    Citation Envoyé par kalina Voir le message
    Bonjour,
    Moi aussi je viens de faire le TP dont tu parles et c'est vrai que dans la correction, on appelle directement la jsp creerClient.jsp sans passer par une servlet!
    Je pense que ce n'est pas normal d'autant plus que c'est dis quelque part dans le cours qu'on ne doit jamais faire ça! D'ailleurs, moi, avant de regarder la correction, j'ai créé une servlet AppelClient et une autre AppelCommande (même si on me l'a pas demandé) juste pour afficher les jsp creerClient.jsp et creerCommande.jsp, car ça me semblait plus logique!
    Ah je suis bien content d'entendre ça. Mais j'ai vu sur un autre site qu'on peut faire une servlet qui appelle 2 .jsp Si les champs sont nulls tu appelles saisie.jsp si c'est pas null tu appelles affichage.jsp

    je vais m'y remettre...

  7. #7
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2016
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 85
    Par défaut
    Citation Envoyé par Gugelhupf Voir le message
    Le message que je t'ai rédigé résume le parcours complet d'une requête.

    Pour reprendre les affirmations :
    • Tu peux avoir plusieurs formulaires par page.
    • Tu peux avoir plusieurs servlets par application.
    • Tout ne passe pas par 1 servlet, tout passe par ton serveur HTTP.
    • C'est toi qui va indiquer via ton <form action="ton-url"></form> quelle servlet (ou "contrôleur") doit traiter la requête. C'est dans ta servlet que tu vas indiquer vers quelle vue rediriger.
    • C'est à toi ou aux API que tu utilises de gérer les NullPointerException, car une application bien conçue ne doit pas remonter de NullPointerException.
    merci encore, je vais essayer de compiler ce que tu dis...

Discussions similaires

  1. question de débutant sur l'import DLL
    Par pdgnr dans le forum C++Builder
    Réponses: 4
    Dernier message: 28/04/2006, 21h26
  2. question de débutant sur les jointures
    Par dreamcocktail dans le forum Langage SQL
    Réponses: 6
    Dernier message: 27/03/2006, 15h24
  3. [MySQL] Question de débutant sur l'optimisation d'un site
    Par digger dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 15/02/2006, 14h29
  4. Question de débutant sur la commande Accept
    Par deaven dans le forum Oracle
    Réponses: 1
    Dernier message: 21/10/2005, 08h25
  5. question de débutant sur les objets
    Par boucher_emilie dans le forum ASP
    Réponses: 3
    Dernier message: 06/08/2004, 10h51

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