web-dev-qa-db-de.com

Wann verwenden Sie doGet, doPost und Service

Ich habe mich über diese Servlet-Methoden gewundert. Ich weiß etwas über diese Methoden

  • doPost hat keine Einschränkungen bei Parameternummern, während doGet hat.
  • doGet ist schneller als doPost.
  • doPost ist gesichert als doGet.

Und meine Frage ist, wie diese Methoden dieselben Parameter und den Prozess, den wir implementieren, annehmen. was ist dann der major difference zwischen diesen Methoden und At which specific situation each of this method is used to process.

8
R9J

Es gibt die technischen Unterschiede, die Sie angesprochen haben, und in einem Teil sprechen wir über REST Metaphern.

Neben POST und GET gibt es auch PUT und DELETE. Sie sollten GET für Operationen verwenden, die Ihre Daten nicht ändern, POST für die Erstellung und PUT für die Aktualisierung von Daten. DELETE dient offensichtlich zum Löschen von Daten.

7
schlingel

doGet ():> Wir werden für statische Inhalte verwenden. Wenn wir es verwenden werden, durchlaufen unsere Anforderungsparameter den HTTP-Paket-Header. Oder die Größe des http-Paketkopfs ist festgelegt. So können nur begrenzte Daten gesendet werden. oder im Fall von doGet () werden Anforderungsparameter in der Adressleiste angezeigt, oder in Netzwerkdaten wie ebener Text gesendet.

doPost ():> Wir werden für dynamische Inhalte verwenden. Wenn wir es verwenden werden, durchlaufen unsere Anforderungsparameter den http-Paketkörper. Oder die Größe des http-Paketkörpers ist nicht festgelegt. So können unbegrenzt Daten gesendet werden. oder im Falle von doPost () werden Anforderungsparameter nicht in der Adressleiste angezeigt, oder in Netzwerkdaten werden wie verschlüsselter Text gesendet.

service ():> Wenn wir es definieren, müssen wir ein Verbindungsproblem mit dem Server haben, da es protokollunabhängig ist und daher kein guter Ansatz ist. 

14
SatyamChaudhary

Ich werde mich nur auf die Unterschiede konzentrieren:

doService () : Verwenden Sie es, wenn Sie wissen, was Sie tun. Die Standardimplementierung ruft doGet () oder doPost () auf. Wenn Sie es also überschreiben, wird die andere Methode nicht aufgerufen.

doGet () : Eine Methode GET sollte den internen Status Ihrer Anwendung nicht ändern (Sie sollten keine Aktualisierungen oder ähnliches durchführen).

doPost () : Konventionell wird POST verwendet, um den internen Status Ihrer Anwendung zu ändern (Einfügen, Aktualisieren, Löschen).

5
morgano

doGet () und doPost (), doPut (), doDelete () werden zu unterschiedlichen Anlässen mit geringfügigen Unterschieden aufgerufen.

Ja W3C mit einigen Spezifikationen

ERHALTEN:

Eine Repräsentation des Objekts wird an den Client übertragen. Einige URIs beziehen sich auf bestimmte Varianten eines Objekts und einige beziehen sich auf Objekte mit vielen Varianten. Im letzteren Fall können die Repräsentationen, Kodierungen und akzeptablen Sprachen in den Header-Anforderungsfeldern angegeben werden und können den bestimmten Wert beeinflussen, der zurückgegeben wird.

POST

Diese HTTP-Methode erstellt ein neues Objekt, das mit dem angegebenen Objekt verknüpft ist und diesem untergeordnet ist. Der Inhalt des neuen Objekts wird als Hauptteil der Anforderung eingeschlossen.

Die service () - Methode empfängt Standard-HTTP-Anforderungen von der Public-Service-Methode und leitet sie an die in dieser Klasse definierten doXXX-Methoden weiter.

4
Suresh Atta

GET sollte idempotent sein, POST kann nicht sein. GET ist, wenn Sie etwas vom Server abrufen möchten, POST ist, um Daten an den Server zu senden. Die Variable GET ist idempotent bedeutet, dass dieselbe Operation mehrfach angewendet wird, um dasselbe Ergebnis zu erzielen. Bei einer Variable POST hat es Nebenwirkungen, die zu unterschiedlichen Ausgaben führen. Sie können eine nicht idempotente GET schreiben, dies ist jedoch gegen die Konvention und Sie können mit Problemen enden. GET-Anforderungen können mit einem Lesezeichen versehen werden. POST kann nicht mit einem Lesezeichen versehen werden. Abfrageparameter sollten in GET begrenzt sein, mit POST können Sie sogar Dateien zum Hochladen senden.

3
NINCOMPOOP

In einfachen Worten .. get wird verwendet, wenn Sie etwas vom Server abrufen möchten und Ihre Anforderung keine vertraulichen Informationen enthält, da der Header in der URL angezeigt wird. Post wird verwendet, wenn Sie etwas auf dem Server aktualisieren und wichtige Daten vorliegen, z. Passwörter, Kontonummer usw. in Ihrer Anfrage. Ein weiterer Vorteil von post ist die nicht feste Größe , sodass Sie unbegrenzt Daten senden können und Daten auf keinen Fall sichtbar sind.

2
Ashish Sharma

Die Servicemethode wird vom Servlet-Container aufgerufen, um die Anforderung zu bearbeiten und mit einer richtigen Antwort zu antworten. Bei jedem Aufruf einer Anfrage wird die Servicemethode aufgerufen. Wir überschreiben es nie, da es bereits in Bezug auf Folgendes gemacht wurde:

  • bekommen()
  • doPost ()

doGet () - fragt nach Informationen. Es ändert nichts am Server. Die Methode doGet () ist die Standardmethode HTTPServletRequest.

doPost () - Wird verwendet, um die Informationen bereitzustellen, die der Server benötigt.

Ich habe gerade den Grundunterschied aufgeschrieben, es gibt andere Unterschiede auf der Leistungsbasis.

0
myk.

Ich denke, Sie sollten etwas über die HTTP-Methoden GET und POST lesen. Sie können zum Beispiel hier beginnen. Ihre Frage ist nicht wirklich mit Java und Servlets verbunden, sondern mit den Grundlagen der Webprogrammierung.

0
Petr Mensik

Ich habe mich über diese Servlet-Methoden gewundert. Ich weiß etwas über diese Methoden

• do Post hat keine Begrenzung der Parameternummern, während doGet dies tut.

• doGet ist schneller als doPost.

• doPost ist gesichert als doGet

0
raj