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

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 85
    Points : 20
    Points
    20
    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 320
    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 320
    Points : 3 741
    Points
    3 741
    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 à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2016
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 85
    Points : 20
    Points
    20
    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 320
    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 320
    Points : 3 741
    Points
    3 741
    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 actif 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
    Points : 293
    Points
    293
    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 à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2016
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 85
    Points : 20
    Points
    20
    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...

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 85
    Points : 20
    Points
    20
    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...

  8. #8
    Membre actif 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
    Points : 293
    Points
    293
    Par défaut
    Si ça marche c'est parfait! Sinon, je te conseille vivement de continuer le cours, tu auras l'occasion d'améliorer le TP pas à pas et tu apprendras vraiment beaucoup de chose!

    Bon courage à toi!

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 85
    Points : 20
    Points
    20
    Par défaut
    Sinon pour tester l'appli, ou le projet comment faire :

    taper l'url qui est dans le web.xml? localhost:8080/PROJ/monurl
    ou bien faire run dans eclipse ? Et run de quoi ? Du projet ? De la servlet ?

    parce que j'ai aussi des questions sur le serveur tomcat. SI je fais sudo service tomcat7 stop, donc j'arrete le serveur, j'ai it works ! à localhost:8080 donc tomcat n'est pas stoppé.

    Hier eclipse à planté suite à des démarrages du serveur impossible de l'arreter même en tuant le process.

    J'ai pourtant déjà fait des sites web avec apache en perl cgi mais j'ai bien oublié, ça fait plus de 10 ans.

    Je m'y remets...

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 85
    Points : 20
    Points
    20
    Par défaut
    j'ai tout vérifié et j'ai un 404 ressource non disponible et en url j'ai ça : http://localhost:8080/PROJ1/saisieclient alors qu'il n'y a rien qui s'appelle saisieclient dans mes fichiers, il y a saisieClient.jsp et SaisieClient.java mais saisieclient y a pas. Je me demande d'ou ça sort. Apparement beaucoup de débutants galèrent la dessus. J'ai essayé avec le web.xml ou sans avec les balises @ dans le servlet.java, le résultat est le même.
    Pourtant j'ai déjà réussi à avoir quelque chose à un moment, j'ai pas révé. Mais là 404.

  11. #11
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    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 320
    Points : 3 741
    Points
    3 741
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par kalina
    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!
    Tu peux ne pas avoir de servlet, utiliser uniquement un fichier ".jsp" comme on le ferait avec du PHP sans framework, mais si tu fais ça tu ne respecte pas le modèle MVC, et mettre du code métier dans la Vue rendra ton application inmaintenable.
    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

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 85
    Points : 20
    Points
    20
    Par défaut
    Je viens d'avoir la forme de saisie à l'écran. J'ai une erreur ailleurs mais j'ai avancé...
    Merci

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 85
    Points : 20
    Points
    20
    Par défaut
    Bon ça marche, j'ai dû corriger des erreurs dans le code qui était fourni, je le considérais correct... Je comprends mieux les choses maintenant. Je continue le TUTO !!!

  14. #14
    Membre actif 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
    Points : 293
    Points
    293
    Par défaut
    Citation Envoyé par Gugelhupf Voir le message
    Tu peux ne pas avoir de servlet, utiliser uniquement un fichier ".jsp" comme on le ferait avec du PHP sans framework, mais si tu fais ça tu ne respecte pas le modèle MVC, et mettre du code métier dans la Vue rendra ton application inmaintenable.
    Merci Gugelhupf pour les précisions, oui je comprends mieux la nécessité de respecter le modèle MVC!

  15. #15
    Membre actif 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
    Points : 293
    Points
    293
    Par défaut
    Citation Envoyé par SeniorEric Voir le message
    Bon ça marche, j'ai dû corriger des erreurs dans le code qui était fourni, je le considérais correct... Je comprends mieux les choses maintenant. Je continue le TUTO !!!
    Je ne pense pas qu'il y ait des erreurs, mais tant mieux si tu comprends mieux les choses! je voulais juste ajouter que c'est mieux de corriger ton TP selon la correction car ça va te servir de base pour les futurs TP, si tu le gardes tel que tu l'as fais tu va perdre du temps après, mais tu comprendras certainement encore mieux les choses!

    bon courage!

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