# Java > Dveloppement Web en Java > Servlets/JSP >  doget() et dopost()

## siham-gh

salut,

quelle est la differnce exacte entre les methodes doget(); dopost()
quand m'utilisent elles


SVP!!!!!!

----------


## adup1307

Ce sont deux mthodes qui proviennent de la classe Servlet.
doGet() est appel lorsqu'une requte est envoye  une servlet en GET
et doPost() lorsqu'une requte est envoye en POST.
POST et GET tant les mthodes de soumissions d'une requete HTTP.

N'hesites pas  consulter quelques tutos sur les servlets pour savoir comment les utiliser.

----------


## tchize_

elles proviennent de la classe HttpServlet, qui est une sous classe de Servlet. Dans HttpServlet, la methode service(request,response) analyse le type de requete http et dispatch vers doGet, doPost, doHead, doPut, doDelete, doTrace, doOptions

----------


## siham-gh

merci pour le reponse

tu veut dire dans doget(): si j' ai un formulaire dans html et il y a un action

sur un url de servlet dans la balise <form> donc la requete de cette  code html qui s'appelle le servlet utilise doget()     c'est correct ou non


mais doPost() compris pas

----------


## tchize_

doGet, c'est quand le browser fait un GET (voir spcification http), doPost c'est quan le browser fait un POST. Le GET se produit lors de la navigation normale (clic sur un lien), lorsqu'on tappe l'url dans la barre d'adresse ou lorsqu'un utilise un <form> ayant comme mthode "GET". Le POST se produit gnralement quand on utilise un formulaire avec comme mthode "POST"

----------


## kmdkaci

Bonjour,
Pour les formulaires tout marche avec les deux mthodes  quelques exceptions.
Lorsqu'on utilise *doGet*, les informations envoys sont encods dans l'URL, c'est  dire visible. 
Exemple :  Si j'ai  contacter le serveur www.monserveur.com/maServlet pour lui envoyer deux variables _cNom_ et _iAge_ avec _doGet_ j'obtienne une URL de ce genre

```
www.monserveur.com/maServlet?champNom=cNom&champAge=ciAge
```

En revanche lors d'utilisation de la mthode *doPost*, tout est crypt, c'est  dire, on voit rien dans l'URL. Imagine que tu veux envoyer un mot de passe, il sera fastidieux et mme dangereux d'utiliser doGet. Aussi autre limite de doGet, c'est qu'elle limit  255 caractres, et si tu veux envoyer un texte, ce n'est pas la bonne option, utiliser plutt doPost. 
J'ai ralis un tutoriel, o est expliqu l'utilisation de ces deux mthodes entre une servlet et client qui est un formulaire HTML et aussi un tlphone portable.Voici le lien : http://kmdkaci.developpez.com/tutori...avec-site-web/

----------


## tchize_

> En revanche lors d'utilisation de la mthode *doPost*, tout est crypt, c'est  dire, on voit rien dans l'URL. Imagine que tu veux envoyer un mot de passe, il sera fastidieux et mme dangereux d'utiliser doGet.


 ::alerte::  rien n'est crypt dans la mthode doPost  ::pan::  C'est juste pas visible dans la barre d'adresse du navigateur, et vite donc les petits malin qui regardent au dessus de ton paule, mais ca ne protge en rien ton mot de passe, le flux post passant en clair sur le rseau. Pour le cryptage et la scurit d'une mot de passe, faut utiliser du ssl.

----------


## kmdkaci

Bonjour,



> En revanche lors d'utilisation de la mthode doPost, tout est crypt


C'est vrai que dire _crypt_  est un abus de langage, c'est juste que rien n'est visible dans l'URL. Pour tre plus technique, je dirais que l'information envoye par doPost est dans un type array puis transfrer tout via l'objet OutputStream. C'est ce que j'ai dmontr dans le tutoriel cit. Compte au cryptage, je rejoins ton ide sur l'utilisation du protocole SSL et c'est ce qui a t crit dans le tutoriel  la partie *IV-C. Classe d'envoi de mail avec authentification SSL* en utilisant une API de cryptage.

Merci pour les claircissement

----------


## siham-gh

merci pour les reponses,


doGet, c'est quand le browser fait un GET (voir spcification http), doPost c'est quan le browser fait un POST

؟
؟
c'est a dire la methode que je declar dans mon formulaire html  comme

<form=    method=post       >   ou
............method=get>

----------


## tchize_

entre autre mais pas seulement, j'ai expliqu plus haut (faut lire) les cas gnraux. Maintenant si tu veux savoir prcisment, faut regarder les spcifications http.

----------

