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 :

JSP SERVLET DEBUTANTE


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 28
    Par défaut JSP SERVLET DEBUTANTE
    Bonjour,

    Voilà, j'ai fait un formulaire dans une page JSP, et je voudrais, lorqu'on clique sur l'image "ok" faisant office de bouton, appeler une servlet , et lui passer les valeurs de champs saisis.

    J'arrive à afficher le résultat du servlet, mais les paramètres ne passent pas.
    En fait je n'arrive pas à comprendre comment on fait ce lien entre les deux (jsp et servlet) .
    Quelqu'un pourrait il me rappeler la syntaxe?j'ai regardé dans le forum, mais je n'e trouve pas exactement ce cas la.
    Faut il utiliser <bean??
    ...
    Merci beaucoup.


    Phileme

  2. #2
    Membre expérimenté

    Avatar de christopheJ
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 600
    Par défaut
    quand tu dis que tu clic sur l'image qui fait office de bouton, s'agit-il d'un simple lien html vers la servlet?
    J'utilise des boutons type submit dans le formulaire pour appeler la servlet.
    Peut etre qu'avec un javascript sur le clic de l'image tu peux lancer un submit du formulaire (je n'ai jamais tenté).
    Peux-tu montrer le code de ta jsp?

  3. #3
    Membre expérimenté

    Avatar de christopheJ
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 600
    Par défaut
    j'ai vu sur le forum java que tu n'utilisais pas les balises form mais comment as-tu fait les champs de saisie?

  4. #4
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 28
    Par défaut
    Voilà mon code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <fieldset >
    	<label for='nom'>nom</label>
    	<input type='text' name='nom' id='nom' />
    	<br />
    	<label for='prenom'>prenom</label>
    	<input type='text' name='prenom' id='prenom' />
    	<a href="<%=basePath%>servlet/acces.ControlUtil?login=<%=nom%>&prenom=<%=prenom%>
            <img src="<%=basePath%>images/fleche_droite.gif" border=0/></a>
    	<br />
    	</fieldset>
    C'est dans la balise href que je ne sais pas quoi mettre.
    Si quelqu'un a une idée.

    Est ce qu'il faut utiliser formard?
    si oui, je ne vois pas quelle est la syntaxe dans un href...j'ai essayé mais ca ne passe pas.


    Merci


    : :

  5. #5
    Membre expérimenté

    Avatar de christopheJ
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 600
    Par défaut
    il faut utiliser des balises formulaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form METHOD="POST" action='/mapping de ta servlet '>
    	nom
    	<input type="text"  name="prenom">
    	<input type="submit" >
    </form>
    et dans la methode post du la servlet tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String prenom=(String)Request.getParameter("prenom");

  6. #6
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 28
    Par défaut
    Ok, merci

    je savais que je pouvais utiliser cette méthode, mais je veux mettre une image au lieu d'un bouton, ca doit être possible, je pense.

    Si quelqu'un avait un exemple, qui fonctionne, ca m'arrangerait. Merci!


    Phileme

  7. #7
    Membre averti
    Inscrit en
    Février 2004
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 34
    Par défaut
    C'est tout à fait possible, tu as juste à faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form METHOD="POST" action='/mapping de ta servlet '> 
       <input type='text' name='nom' id='nom' /> 
       <input type="text"  name="prenom"> 
       <input type="image" src="ton_image.truc">
    </form>
    Et ça marche.

  8. #8
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 28
    Par défaut
    Oui, c'est vrai, dingue...

    Est ce normal que j'aie un x et un y dans mon url?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    maservlet?nom=fsdfs&prenom=sdsd&x=9&y=13

    Merci
    Phileme


  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 20
    Par défaut
    C'est que tu as dû mettre la méthode GET plutôt que la méthode POST pour ton formulaire. Non ?

    Avec GET, les paramètres du formulaire sont visibles dans l'URL. Avec la méthode POST, non.

    Par contre, tu dois utiliser la bonne méthode dans ta servlet pour t'adapter à ton formulaire : doPost() ou doGet().

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 63
    Par défaut
    Pour résumer :
    - un formulaire et une servlet communiquent par requetes HTTP
    - une servlet est une classe java instanciée automatiquement et ayant pour rôle
    - de recevoir des requetes HTTP
    - de retourner un flux (HTML, fichier...) ou bien de transmettre la requete a une autre page ou servlet
    - une jsp est un fichier dans lequel on insérer du code java au milieu du code HTML afin de générer dynamiquement de l'HTML (par exemple afficher une liste de personnes retournée par le serveur).
    - quand tu cliques sur un bouton ou une image réalisant un submit, une requête est envoyée à l'adresse spécifiée dans l'attribut "action" de ton <form>. Des paires clé-valeur(s) correspondant aux champs de ton formulaire (<input>, <select>...) sont envoyées au serveur :
    - soit en dur dans ta requete (qui deviendra donc "http://..../maservlet?champ1=valeur1&champ2=valeur2") dans le cas ou l'attribut "method" de ton <form> vaut "get" ; dans ce cas c'est la méthode doGet de ta servlet qui est appelée
    - soit dans le "header" de ta requête si l'attribut "method" vaut "post"; a ce moment là tes paramètres n'apparaissent pas physiquement (=> ta requete reste "http://..../maservlet") mais son bien transmis. C'est, comme tu peux t'en douter, la méthode doPost de ta servlet qui est appelée si tu fais une requete en POST.
    - dans tous les cas, tu récupères tes paramètres (c'est à dire les valeurs de tes champs) dans la servlet en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String valeurChamp1 = request.getParameter("champ1");
    - concernant ta question sur les beans, la réponse est : non, pas tout de suite. Les beans sont des objets Java qui permettent de transmettre des données (par exemple un objet "Personne") entre une servlet (qui est par exemple allée chercher les infos sur une personne dans une base de données) et une jsp (la fiche "personne")
    - pour terminer, il faut bien comprendre comment marchent les JSP : elles sont exécutées sur le SERVEUR, ce qui veut dire qu'au niveau du client (= quand ta page est affichée dans ton navigateur) on ne voit que du code HTML/javascript. Autrement dit, la notion de bean ne veut absolument rien dire du coté client. Le client ne sait communiquer avec une servlet qu'en lui envoyant des requetes avec des paires clé-valeurs
    Bon courage

  11. #11
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 28
    Par défaut


    Merci pour ces eclaircissement!!

    Phileme

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Hebergement jsp servlets(gratuit pour un espace min)
    Par Gandalf_new dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 09/01/2010, 05h04
  2. [JSP/Servlet] Outils pour developper?
    Par BenoitM dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 04/05/2004, 11h03
  3. [TOMCAT] Lancement des JSP, servlets
    Par sylvain_neus dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 22/03/2004, 10h03
  4. [JSP][Servlet][Javabean] Modèle Vue Controleur
    Par ay_pepito dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 04/02/2004, 10h05
  5. [JSP][SERVLET] recup donnees form
    Par 74greg dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 04/09/2003, 10h22

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