Servlet DoGet und DoPost Methoden [Duplizieren]

7

Ich möchte wissen, dass wir in Servlets die Methoden doGet und doPost im selben Programm verwenden. Was nützt es?

Was bedeutet der folgende Code?
Warum die doGet-Methode von doPost aufrufen? Ich bin mir über diesen Code überhaupt nicht im Klaren.

%Vor%

Danke

    
user460920 05.02.2012, 10:10
quelle

5 Antworten

2

Es ist einfach, das Servlet so zu verallgemeinern, dass es auch dann, wenn wir die Request-Methode in Zukunft ändern, nicht notwendig ist, das Servlet zu bearbeiten, was den Aufwand für die zukünftige Modifikation der Anwendung verringert.

    
Anand 05.02.2012, 10:59
quelle
20

doGet() behandelt eingehende HTTP-Anfragen GET , während doPost() handles ... < a href="http://www.w3.org/Protocols/HTTP/Methods/Post.html"> POST Anfragen. Es gibt auch äquivalente Methoden, um PUT, DELTE usw. zu handhaben.

Wenn Sie Ihr Formular mit GET (Standard) senden, wird doGet() aufgerufen. Wenn Sie POST senden, wird doPost() dieses Mal aufgerufen. Wenn Sie nur doPost() implementieren, aber das Formular GET verwendet, löst der Servlet-Container eine Ausnahme aus.

In vielen Programmen ist es dem Server egal, ob die Anfrage GET oder POST verwendet, deshalb delegiert eine Methode an eine andere. Dies ist eigentlich eine schlechte Übung, da diese Methoden von Natur aus anders sind, aber viele Tutorials schreiben es so (zum Guten oder zum Schlechten).

    
Tomasz Nurkiewicz 05.02.2012 10:14
quelle
3

Dies dient dazu, beide Anfragen zu bearbeiten, zB. GET und POST von http. Abhängig von der Anforderung der App können sich die Benutzer dafür entscheiden, den Anfragetyp als GET oder POST zu behalten. Wenn Sie also beide bearbeiten, erhalten Sie einen Fehler. und falls Sie beide auf ähnliche Weise behandeln wollen, dann können Sie eine andere Methode doSomething erstellen und sie von Ihren Methoden doGet und doPost für weitere Informationen aufrufen siehe diese Antwort

    
user2728475 10.09.2013 10:06
quelle
1

Ist es nicht mit einer get-Anfrage zu tun, können die Parameter in der URL im Browser-Fenster gesehen werden, und die post-Anfrage fügt die Parameter in die Struktur der Anfrage ein und ist daher nicht sichtbar. Wie wird Ihre Anfrage vom Kunden als Get oder Post gemacht? Ich denke, dass es etwas mit Sicherheit zu tun hat und sql-Injektionen vermeidet, aber es ist nicht wirklich mein Bereich. Hoffentlich, ein Experte mit korrekter Sicht / Kommentar, wie ich das selbst wissen muss.

    
G O'Rilla 28.08.2013 08:41
quelle
0
___ qstnhdr ___ Servlet DoGet und DoPost Methoden [Duplizieren] ___ answer18483178 ___

Ist es nicht mit einer get-Anfrage zu tun, können die Parameter in der URL im Browser-Fenster gesehen werden, und die post-Anfrage fügt die Parameter in die Struktur der Anfrage ein und ist daher nicht sichtbar. Wie wird Ihre Anfrage vom Kunden als Get oder Post gemacht? Ich denke, dass es etwas mit Sicherheit zu tun hat und sql-Injektionen vermeidet, aber es ist nicht wirklich mein Bereich. Hoffentlich, ein Experte mit korrekter Sicht / Kommentar, wie ich das selbst wissen muss.

    
___ answer9148671 ___

Es ist einfach, das Servlet so zu verallgemeinern, dass es auch dann, wenn wir die Request-Methode in Zukunft ändern, nicht notwendig ist, das Servlet zu bearbeiten, was den Aufwand für die zukünftige Modifikation der Anwendung verringert.

    
___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ answer25315536 ​​___

Wie Sie hier notiert haben, können Sie zwar eine dritte Methode aufrufen, aber Sie können auch die service () -Methode von der Methode überschreiben HttpServlet motherclass, so dass es alawys eine eindeutige Methode aufruft.

    
___ tag123javaee ___ Die Java Enterprise Edition (Java EE) ist eine Spezifikation, die eine Sammlung von Java-basierten Server- und Clienttechnologien und deren Interoperabilität definiert. Das [java-ee] -Tag ist rudimentär zu fokussierten Fragen über die spezifischeren APIs wie [jsf], [Servlets], [jpa], [cdi], [ejb] usw. Verwenden Sie es nur bei Problemen mit allgemeinen Kombinationen (zB Interaktion zwischen einzelnen APIs und / oder Anwendungsservern). ___ answer9148416 ___

%code% behandelt eingehende HTTP-Anfragen GET , während %code% handles ... < a href="http://www.w3.org/Protocols/HTTP/Methods/Post.html"> POST Anfragen. Es gibt auch äquivalente Methoden, um PUT, DELTE usw. zu handhaben.

Wenn Sie Ihr Formular mit GET (Standard) senden, wird %code% aufgerufen. Wenn Sie POST senden, wird %code% dieses Mal aufgerufen. Wenn Sie nur %code% implementieren, aber das Formular GET verwendet, löst der Servlet-Container eine Ausnahme aus.

In vielen Programmen ist es dem Server egal, ob die Anfrage GET oder POST verwendet, deshalb delegiert eine Methode an eine andere. Dies ist eigentlich eine schlechte Übung, da diese Methoden von Natur aus anders sind, aber viele Tutorials schreiben es so (zum Guten oder zum Schlechten).

    
___ tag123servlets ___ Servlet ist eine Java-Anwendungsprogrammierschnittstelle (API), die auf dem Server-Rechner läuft und die Anfragen des Clients abfangen und entsprechend eine Antwort generieren / senden kann. ___ tag123http ___ Das Hypertext Transfer Protocol (HTTP) ist ein Netzwerkprotokoll auf Anwendungsebene, das für die Übertragung von Inhalten im World Wide Web verwendet wird. ___ qstntxt ___

Ich möchte wissen, dass wir in Servlets die Methoden doGet und doPost im selben Programm verwenden. Was nützt es?

Was bedeutet der folgende Code?
Warum die doGet-Methode von doPost aufrufen? Ich bin mir über diesen Code überhaupt nicht im Klaren.

%Vor%

Danke

    
___ answer18716021 ___

Dies dient dazu, beide Anfragen zu bearbeiten, zB. GET und POST von http. Abhängig von der Anforderung der App können sich die Benutzer dafür entscheiden, den Anfragetyp als GET oder POST zu behalten. Wenn Sie also beide bearbeiten, erhalten Sie einen Fehler. und falls Sie beide auf ähnliche Weise behandeln wollen, dann können Sie eine andere Methode doSomething erstellen und sie von Ihren Methoden doGet und doPost für weitere Informationen aufrufen siehe diese Antwort

    
___ tag123methods ___ Eine Methode (oft als Funktion, Routine oder Prozedur bezeichnet) ist Code, der eine Aufgabe ausführt und einer Klasse oder einem Objekt zugeordnet ist. ___
Antoine Martin 14.08.2014 18:51
quelle

Tags und Links