


Was sind die Unterschiede zwischen der Java-Anforderungsweiterleitung und der Anforderungsumleitung?
Vorwort
In Java Es gibt zwei Möglichkeiten, Sprünge zu implementieren: Anforderungsweiterleitung und Anforderungsumleitung, aber die beiden sind völlig unterschiedlich, daher werden wir sie heute besprechen.
Die Hauptunterschiede zwischen Anforderungsweiterleitung und Anforderungsumleitung umfassen die folgenden 5 Punkte:
Unterschiedliche Definitionen
Unterschiedliche Sprungparteien
Unterschiedliche Datenfreigabe
-
Die endgültige URL-Adresse ist unterschiedlich
-
Die Code-Implementierung ist anders
Als nächstes schauen wir uns das einzeln an.
1. Verschiedene Definitionen
Anfrageweiterleitung (Weiterleitung): Erfolgt innerhalb des Serverprogramms. Wenn der Server eine Anfrage vom Client empfängt, leitet er die Anfrage zunächst an die Zieladresse weiter und gibt dann das Ergebnis des Ziels zurück Adresse An den Kunden weitergeleitet. Der Kunde ist sich dessen nicht bewusst. Das ist so, als würde Zhang San (Kunde) Geld von Li Si (Server) leihen, und Li Si hat kein Geld, also geht Li Si zu Wang Wu, um Geld zu leihen, und leiht Zhang Geld San, Zhang San hat sich im gesamten Prozess nur einmal Geld geliehen, und Li Si hat den Rest erledigt. Dies ist eine Bitte um Weiterleitung. **Anfrageumleitung (Redirect): Anfrageumleitung bedeutet, dass der Server, nachdem er die Anfrage des Clients empfangen hat, einen temporären Antwortheader an den Client zurückgibt. Dieser temporäre Antwortheader zeichnet auf, dass der Client die Anfrage erneut senden muss (Redirect) URL-Adresse . Nachdem der Client die Adresse erhalten hat, sendet er die Anfrage an die neue Adresse. Dies ist eine Anfrageumleitung. **Das ist, als würde Zhang San (Kunde) Li Si (Server) bitten, sich Geld zu leihen, also sagt Li Si zu Zhang San: „Ich habe kein Geld, du gehst zu Wang Wu, um dir Geld zu leihen.“ Zhang San Ich ging erneut zu Wang Wus Haus und borgte mir Geld. Dies war eine Bitte um Weiterleitung.
2. Die anfragenden Parteien sind unterschiedlich
Aus den obigen Definitionen der Anforderungsweiterleitung und Anforderungsumleitung können wir Folgendes erkennen: Die Anforderungsweiterleitung ist ein serverseitiges Verhalten. Der Server sendet die Anforderung im Namen des Clients und sendet sie zurück Das Ergebnis ist das Verhalten des Clients. Der Interaktionsprozess ist wie in der folgenden Abbildung dargestellt: Die Datenfreigabe ist unterschiedlich Seite, also während des gesamten Ausführungsprozesses, muss der Client (Browserseite) nur einmal eine Anfrage senden, sodass im gesamten Interaktionsprozess, also während des gesamten Anfrageprozesses, dasselbe Request-Anfrageobjekt und ein Antwort-Antwortobjekt verwendet werden , die Anfrage und die zurückgegebenen Daten werden gemeinsam genutzt und die Anfrage wird wiederholt. Senden Sie zwei völlig unterschiedliche Anfragen an den Client, sodass die Daten in den beiden Anfragen unterschiedlich sind. 4. Die endgültige URL-Adresse ist unterschiedlich. Die Anforderungsweiterleitung erfolgt, wenn der Server die Anforderung stellt und das Ergebnis dann an den Client zurückgibt. Die URL-Adresse bleibt also während des gesamten Anforderungsprozesses unverändert Der Client sagt: „Sie besuchen einen anderen Ort“, sodass der Browser die Anforderung erneut sendet. Die vom Client schließlich angezeigte URL ist also auch die endgültige Sprungadresse und nicht die Adresse der ursprünglichen Anforderung, sodass sich die URL-Adresse geändert hat . 5. Die Codeimplementierung ist anders
In SpringBoot lautet der Implementierungscode für die Anforderungsweiterleitung wie folgt:
1
2
3
4
@RequestMapping(
"/fw"
)
public
void forward(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.getRequestDispatcher(
"/index.html"
).forward(request, response);
}
Nach dem Login kopieren
1 2 3 4 |
|
Und der Implementierungscode für die Anforderungsumleitung lautet wie folgt:
1
2
3
4
@RequestMapping(
"/rt"
)
public
void redirect(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.sendRedirect(
"/index.html"
);
}
Nach dem Login kopieren
1 2 3 4 |
|
Das obige ist der detaillierte Inhalt vonWas sind die Unterschiede zwischen der Java-Anforderungsweiterleitung und der Anforderungsumleitung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Leitfaden zum Zufallszahlengenerator in Java. Hier besprechen wir Funktionen in Java anhand von Beispielen und zwei verschiedene Generatoren anhand ihrer Beispiele.

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen.

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4
