Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1251 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  doGet, doPost : quand et comment les utiliser ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

doGet, doPost : quand et comment les utiliser ?

n°1367607
ikao2
okaïdi okaïda
Posté le 16-05-2006 à 15:15:05  profilanswer
 

Bonjour,
 
Je travaille avec des servlets et j'ai donc affaire aux fameux doGet() et doPost().
Avec ces servlets, je (entre autres) génère des pages webs HTML qui feront à nouveau appel à mes servlets et ainsi de suites. Je contrôle donc toute la chaine.
 
Se pose pour moi la question de l'utilisation de doGet() et/ou doPost(). Tant que je n'ai pas de formulaires, le doPost() est "inutile", puisque tout se passe en doGet(). Cependant, je me demande si il ne serait pas intéressant d'exploiter ce pauvre doPost(). Je m'explique :
 
Quand je fais appel à une servlet, soit je lui demande d'afficher un certain contenu, soit je lui demande d'effectuer un traitement sur ce contenu (par exemple le trier d'une certaine manière).
Je trouvais donc pratique d'utiliser doGet() pour l'affichage, et doPost() pour le traitement (comme ca je n'ai pas de question à me poser dans le doGet(), je ne fais qu'afficher basiquement, et ce n'est que dans le doPost que je regarde la valeur de certain paramètres).
Donc c'est cool, ca marche, mais je me demande si c'est vraiment trés propre et normal d'utiliser les servlets comme ça.
 
Donc pourriez vous me dire comment "doivent" être utilisées ces deux méthodes ?
 
Merci !
 
P.S : j'ai un jour croisé un doOptions(), savez vous dans quel type de requête http générée par du html on peut le rencontrer ?


Message édité par ikao2 le 16-05-2006 à 15:55:36
mood
Publicité
Posté le 16-05-2006 à 15:15:05  profilanswer
 

n°1368405
ikao2
okaïdi okaïda
Posté le 17-05-2006 à 08:54:30  profilanswer
 

Petit Up.
Question maintes et maintes fois posée ? :-/

n°1369441
ikao2
okaïdi okaïda
Posté le 18-05-2006 à 10:55:06  profilanswer
 

:(

n°1370668
brisssou
8-/
Posté le 19-05-2006 à 15:39:32  profilanswer
 

non, c'est juste que je pense que plus personne fait directement des servlets, Struts est passé par là (et les autres aussi).
 
sinon, pour ton get/post, voilà ce que comprends :
tu passes dans doPost() quand tu fais une soumission d'un formulaire qui à method="POST".
tu passes dans doGet() pour tous les autres cas (liens, soumission de formulaires GET, adresse direct dans la barre du navigateur (identique lien enfait),...)
 
en GET les paramètres (valeurs des champs du form) sont passés en clair dans l'URL (visibles dans la barre d'adresse du navigateur). En post, 'sont cachés (j'ai pas cherché où).
 
Un bon moyen de ne pas te prendre la tête est de renvoyer les deux méthodes vers une autre (doProcess(...) par exemple) qui traitera les deux cas (parce qu'en fait, tu t'en fous que les données arrivent par Get ou POST).
 
voilà voilà...


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1374461
Roco
Posté le 24-05-2006 à 17:45:36  profilanswer
 

Il me semble que les Bests Practices sont :
 
doGet() pour récupérer une ressource sur le serveur.
exemple : Je récupère un topic sur ce forum. Ca permet aussi à l'utilisateur de mettre un signet sur l'URL. La taille des données envoyées est limitée.
 
doPost() pour mettre à jour une ressource sur le serveur.
exemple : Je post un topic sur ce forum. Ca empêche aussi à l'utilisateur de mettre un signet sur l'URL. La taille des données envoyées est illimitée.
 
D'après ce que je vois sur JEE5, j'espère que tout le monde n'utilise pas forcémment Struts...

n°1374553
benou
Posté le 24-05-2006 à 19:37:11  profilanswer
 

y a pas de règle autre que  doGet est là pour répondre aux requêtes HTTP de type GET, et doPost pour celles de type POST.
 
cf la RFC pour connaître le sens de ces types de requête :  
GET : http://www.w3.org/Protocols/rfc261 [...] tml#sec9.3
POST : http://www.w3.org/Protocols/rfc261 [...] tml#sec9.5
 
Mais ce sont des visions un peu théorique des choses ... l'usage a déformé ces notions, donc en gros, c'est pas très grave d'utiliser l'un et/ou l'autre

n°1374558
ikao2
okaïdi okaïda
Posté le 24-05-2006 à 19:42:22  profilanswer
 

Ok merci pour vos réponses à tous les trois !
Je pense que je vais opter pour l'utilisation que décrit Roco. Puisqu'il n'y a rien de vraiment défini, autant se fixer quelque chose et de s'y tenir si je veux m'y retrouver après...

n°1374681
the real m​oins moins
Posté le 24-05-2006 à 23:00:42  profilanswer
 

ikao2 a écrit :

Ok merci pour vos réponses à tous les trois !
Je pense que je vais opter pour l'utilisation que décrit Roco. Puisqu'il n'y a rien de vraiment défini, autant se fixer quelque chose et de s'y tenir si je veux m'y retrouver après...


d'autant que ça correspond à de bonnes pratiques, meme si "dans l'usage", des imbéciles utilisent GET ou POST à tord et à travers.
cela dit, à ta place, je ne donnerai pas un comportement differement à ma servlet selon la methode, je serais (dans les grandes lignes) plutot partisan d'avoir 2 servlets differentes, n'implement chacune qu'une des deux méthodes.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  doGet, doPost : quand et comment les utiliser ?

 

Sujets relatifs
utiliser __author__ et __version__ correctementUtiliser l'attribut SQL SELECT
Excel, quelle fonction/macro utiliser ?[CSS/HTML] Utiliser les médias audios
Utiliser les entrées du port parallèlecomment utiliser la commande unix2dos ........
[Java] Utiliser un BufferedReader à travers le réseauutiliser les éléments d'un tableau d'entiers
Faire un programme en C ou C++ et l'utiliser sous excel ou OooUtiliser Icones
Plus de sujets relatifs à : doGet, doPost : quand et comment les utiliser ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR