Forward bezieht sich in Java auf die „direkte Weiterleitungsmethode“. Bei der direkten Methode gibt der Client-Browser nur eine Anfrage an Servlet, HTML, JSP oder andere Informationsressourcen weiter. Die zweite Informationsressource antwortet auf die Anfrage Informationsressourcen werden gemeinsam genutzt.
Der Benutzer sendet eine HTTP-Anfrage an den Server. Die Anfrage kann von mehreren Informationsressourcen verarbeitet werden, bevor sie an den Benutzer zurückgegeben wird Weiterleitungsmechanismus: Anfragen werden untereinander weitergeleitet, aber Benutzer haben nicht das Gefühl, dass die Anfragen weitergeleitet werden. Entsprechend den verschiedenen Weiterleitungsmethoden kann sie in direkte Anforderungsweiterleitung (Forward) und indirekte Anforderungsweiterleitung (Redirect) unterteilt werden.
Direkte Weiterleitungsmethode (Forward), der Client und der Browser geben nur eine Anforderung aus, Servlet, HTML, JSP oder andere Informationsressourcen, die zweite Informationsressource antwortet auf die Anforderung und speichert sie im Anforderungsobjekt Das Objekt wird mit jeder Informationsressource geteilt.
Die indirekte Weiterleitungsmethode (Redirect) besteht eigentlich aus zwei HTTP-Anfragen. Wenn der Server auf die erste Anfrage antwortet, kann der Browser eine Anfrage an eine andere URL senden, um den Zweck der Weiterleitung zu erreichen.
Um ein beliebtes Beispiel zu nennen:
Direkte Weiterleitung ist äquivalent zu: „A bat B, sich Geld zu leihen, B sagte, er hätte es nicht, B ging zu C, um es zu leihen, und Wenn er es nicht ausleihen könnte, würde er die Nachricht weiterleiten: „Gib es A“;
Indirekte Weiterleitung ist äquivalent zu: „A hat B gebeten, sich Geld zu leihen, aber B sagte, er hätte es nicht.“ Also bat er A, sich Geld von C zu leihen.
Detaillierte Erläuterung der Direktweiterleitungsmethode (Weiterleiten)
Die Direktweiterleitungsmethode wird häufiger verwendet. Im Allgemeinen bezieht sich die Anforderungsweiterleitung auf die Direktweiterleitungsmethode. Die meisten Webanwendungen verfügen über einen Controller. Es obliegt dem Verantwortlichen, zu steuern, an welche Informationsressource die Anfrage weitergeleitet werden soll. Anschließend verarbeiten diese Informationsressourcen die Anforderung und können sie nach der Verarbeitung an andere Informationsressourcen weiterleiten, um sie an den Benutzer zurückzugeben. Dieser Prozess ist das klassische MVC-Modell.
javax.serlvet.RequestDispatcher-Schnittstelle ist eine Schnittstelle, die der Anforderungsweiterleiter implementieren muss. Der Webcontainer stellt dem Servlet ein Objekt zur Verfügung, das diese Schnittstelle implementiert. Der Zweck der Anforderungsweiterleitung wird durch Aufrufen der Methode „forward()“ erreicht dieser Schnittstelle. Beispielcode wie folgt:
...... //Servlet里处理get请求的方法 public void doGet(HttpServletRequest request , HttpServletResponse response){ //获取请求转发器对象,该转发器的指向通过getRequestDisPatcher()的参数设置 RequestDispatcher requestDispatcher =request.getRequestDispatcher("资源的URL"); //调用forward()方法,转发请求 requestDispatcher.forward(request,response); }......
Der Prozess der direkten Weiterleitung der in der obigen Abbildung gezeigten Anfrage ist wie folgt:
Der Browser gibt eine Zugriffsanforderung an Servlet1 aus;
Servlet1 ruft die Methode „forward()“ auf und leitet die Anforderung an Servlet2 auf der Serverseite weiter; >
Schließlich antwortet Servlet2.Erweiterte Informationen:
Was sind die Prinzipien und Unterschiede zwischen direkter Weiterleitung und indirekter Weiterleitung?
Antwort: Weiterleiten und Umleiten stellen zwei Methoden zur Anforderungsweiterleitung dar: direkte Weiterleitung und indirekte Weiterleitung. Entsprechend dem Code handelt es sich um die Methode „forward()“ der Klasse „RequestDispatcher“ und die Methode „sendRedirect()“ der Klasse „HttpServletRequest“. Wenn der Server bei der indirekten Methode auf die erste Anfrage antwortet, kann der Browser eine Anfrage an eine andere URL senden, um den Zweck der Weiterleitung zu erreichen. Es handelt sich im Wesentlichen um zwei HTTP-Anfragen, die zwei Anforderungsobjekten entsprechen. Bei der direkten Methode gibt der Client-Browser nur eine Anfrage aus und das Servlet leitet die Anfrage an Servlet, HTML, JSP oder andere Informationsressourcen weiter. Die beiden Informationsressourcen werden gemeinsam genutzt das gleiche Ein Anforderungsobjekt.Das obige ist der detaillierte Inhalt vonWas ist in Java vorwärts?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!