# Java > Dveloppement Web en Java > Servlets/JSP >  JSP SERVLET DEBUTANTE

## phileme

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 rsultat du servlet, mais les paramtres 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     ::fou::

----------


## christopheJ

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?

----------


## christopheJ

j'ai vu sur le forum java que tu n'utilisais pas les balises form mais comment as-tu fait les champs de saisie?

----------


## phileme

Voil mon code.



```

```

C'est dans la balise href que je ne sais pas quoi mettre.
Si quelqu'un a une ide.

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   


 ::?: :   :8O:   ::?: :

----------


## christopheJ

il faut utiliser des balises formulaire.


```

```

et dans la methode post du la servlet tu fais


```

```

----------


## phileme

Ok, merci

je savais que je pouvais utiliser cette mthode, 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! 

 ::roll::  
Phileme

----------


## Marc_P

C'est tout  fait possible, tu as juste  faire:



```

```

Et a marche.

----------


## phileme

Oui, c'est vrai, dingue...  ::):  

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



```

```


Merci
Phileme

 ::pc::

----------


## lbourlet

C'est que tu as d mettre la mthode GET plutt que la mthode POST pour ton formulaire. Non ?

Avec GET, les paramtres du formulaire sont visibles dans l'URL. Avec la mthode POST, non.

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

----------


## Greedo

Pour rsumer :
 - un formulaire et une servlet communiquent par requetes HTTP
 - une servlet est une classe java instancie automatiquement et ayant pour rle 
   - 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 insrer du code java au milieu du code HTML afin de gnrer dynamiquement de l'HTML (par exemple afficher une liste de personnes retourne par le serveur).
 - quand tu cliques sur un bouton ou une image ralisant un submit, une requte est envoye  l'adresse spcifie dans l'attribut "action" de ton <form>.  Des paires cl-valeur(s) correspondant aux champs de ton formulaire (<input>, <select>...) sont envoyes 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 mthode doGet de ta servlet qui est appele
   - soit dans le "header" de ta requte si l'attribut "method" vaut "post"; a ce moment l tes paramtres n'apparaissent pas physiquement (=> ta requete reste "http://..../maservlet") mais son bien transmis. C'est, comme tu peux t'en douter, la mthode doPost de ta servlet qui est appele si tu fais une requete en POST.
 - dans tous les cas, tu rcupres tes paramtres (c'est  dire les valeurs de tes champs) dans la servlet en faisant


```

```

 - concernant ta question sur les beans, la rponse est : non, pas tout de suite. Les beans sont des objets Java qui permettent de transmettre des donnes (par exemple un objet "Personne") entre une servlet (qui est par exemple alle chercher les infos sur une personne dans une base de donnes) et une jsp (la fiche "personne")
 - pour terminer, il faut bien comprendre comment marchent les JSP : elles sont excutes sur le SERVEUR, ce qui veut dire qu'au niveau du client (= quand ta page est affiche 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

----------


## phileme

::ccool::  

Merci pour ces eclaircissement!!

Phileme

----------

