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.
Danke
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).
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
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.
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.
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.
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.
%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).
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.
Danke
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